portal2 icon indicating copy to clipboard operation
portal2 copied to clipboard

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

Open quat1024 opened this issue 9 months ago • 2 comments

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 avatar Feb 16 '25 01:02 quat1024

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 avatar Feb 16 '25 02:02 quat1024

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

  • I restarted the game.
  • I clicked Community Test Chambers and opened "Publish Test 2". I published the map.
  • This created a new Workshop item: https://steamcommunity.com/sharedfiles/filedetails/?id=3428266101
  • I backed up the .p2c again.
  • I ran condump creating condump003.txt.

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.

quat1024 avatar Feb 16 '25 02:02 quat1024