Jeremy's almost but not quite entirely moribund blog

Tuesday, October 11, 2011

Playing Portal 2 co-op on LAN, with one account

My wife bought me Portal 2 a few months ago, and I thoroughly enjoyed the single-player campaign. The puzzles are clever, and there are lots of 'em. The story is funny and engaging, and the voice acting is superb. The procedural music adds a lot of atmosphere. I particularly liked the historic Aperture Science Innovators levels deep underground.

After completing the single-player game, I wanted more. My wife suggested that our 7-year-old boy would enjoy playing co-op with me. I said it probably won't work unless I register another Steam account and buy another copy of the game... but I did some Google searches and found that offline LAN play is possible with a single copy. There are varying instructions given, and some work better than others, so I decided to record the best way here. Specifically, if you do it right, Atlas (the blue robot) can save progress and earn achievements. (They can't both do it, because only one can be connected to Steam at a time.)

Start with the guest machine (this machine will play P-body, the orange robot):
  1. Launch Steam in offline mode.
  2. Start Portal 2.
  3. Enable the developer console (under advanced keyboard options). This only has to be done once.
  4. Enter the developer console by pressing the back-quote (`) key, to the left of the number 1.
Now, on the host machine (this machine will play Atlas, the blue robot):
  1. Launch Steam in online mode.
  2. Start Portal 2.
  3. Enable the developer console (again, this only needs to be done the first time).
  4. Select "Play cooperative game" from the main menu.
  5. Select "Standard co-op"
  6. Wait for the "Invite friends" page to appear. It's okay if the page is empty.
  7. Enter the developer console by pressing the back-quote (`) key.
  8. Type sv_lan 1
Back on the guest machine:
  1. Type connect (IP address of host machine)
And then on the host:
  1. Type map mp_coop_start (for the calibration level, if you haven't played before), or map mp_coop_lobby_2 (for the hub)
Using these steps, I am able to play co-op with my son, and still save progress and earn achievements on my account (I play as Atlas).