Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Puzzlemaker maps return to "local" status; reuploading them results in a new Steam Workshop item #456

Open
quat1024 opened this issue Feb 16, 2025 · 2 comments

Comments

@quat1024
Copy link

quat1024 commented Feb 16, 2025

This has been a part of Portal folklore for a long time but I can't find any issues on this repo for it! How rude of us!! It is sometimes called the "new URL bug".

This is not Linux specific. I use Windows 10 but have heard anecdotes from people on Mac and Linux.

Basically:

  • Open Portal 2, select "Community Test Chambers", select "Create Test Chambers".
  • Open one of your maps in Puzzlemaker. Publish it to the Steam Workshop.
  • Return to the menu and open your list of maps.
    • If the file has status "Published", restart the game once or twice, open the file in Puzzlemaker and press Ctrl-S, etc (It is sometimes intermittent?)
  • The file has returned to status "Local".
  • If you republish this file you will get a new Steam Workshop item. This gives you a new URL, lose comments/ratings, subscribers are still on the old copy etc.

As far as I can tell there is no way to legitimately re-establish the link between the .p2c and the Steam Workshop item. This 2013 Steam guide by Geneosis has you editing the FileID in the .p2c but I don't think this has worked in a while.

You are able to update maps using the other method in the guide: opening the publish screen and manually patching the file ID in memory with Cheat Engine 🤭.

@quat1024
Copy link
Author

quat1024 commented Feb 16, 2025

Reproduced this while carefully watching my steps. I've gathered the files in this gist https://gist.github.com/quat1024/b40ebe0ff90b4a7cc58227239b0cce1f

  • I put developer 2 into autoexec.cfg and started the game.
  • I ran condump (after typoing it once), creating condump000.txt.
  • I selected Community Test Chambers from the main menu and created a new Puzzlemaker map. I drew a smiley face on the wall with light strips.
  • I uploaded the item to the Steam Workshop as "Publish Test 2": https://steamcommunity.com/sharedfiles/filedetails/?id=3428256211
  • I closed the Steam Overlay and ran condump, creating condump001.txt.
  • I backed up the .p2c created in Portal 2/portal2/puzzles/76561198104668649/1739671738.p2c.
  • I quit to the menu and opened the Community menu again and looked at the list of my maps. "Publish Test 2" is displaying as "Local".
  • I opened Publish Test 2 in Puzzlemaker. I pressed Ctrl-S.
  • I ran condump again creating condump002.txt.

The .p2c has the FileID 0x00000000CC5709D3. This is a 64-bit number and in base 10 it is 3428256211, which matches the ID of the workshop item.

After publishing the map, this was printed in the console:

[PORATL2 PUZZLEMAKER]	Publishing: Publish succeeded.  New FileID -866711085quat unpaused the game

(There's a missing newline but my Steam name does not start with a number.) In base 16 this is also 0xCC5709D3; whatever is writing this log message is treating it as a signed 32-bit number instead of a 64-bit number, maybe it is also getting truncated internally.

@quat1024
Copy link
Author

quat1024 commented Feb 16, 2025

Oh duh, I should have tried publishing the map again.

The files are available here https://gist.github.com/quat1024/f2b0d855a75ba4ebf6317e1d3c3dfd6c .

Some very relevant-looking lines from the logfile of this run:

[PORATL2 PUZZLEMAKER]	Publishing: Querying Steam with FileID -866711085
[PORATL2 PUZZLEMAKER]	Publishing: Published file not found.  Publishing...

This is the same truncated-to-32bit file ID that the console outputted after publishing the first copy of the map.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants