First off, this is NOT illegal, even if you play with only one copy of the game. Also, you will need two computers for this, obviously. Let's call one of them the Host, which is the one which contains all the server data. This should be the faster of the two computers. Let's call the other one the Client, which downloads the data from the Host computer (don't worry, it DOES NOT access the internet at all).
The first time you do this you need to do all the steps. Every time afterwards, you only need to do steps 2, 4, 5, & 6.
1. HOST: Click Start > Run > type "cmd" > type "ipconfig". Look at your IPv4 Address. It should be 192.168.0.* Write this number down, it is very important.
2. BOTH: Login to steam, then where the File button would normally be, there is a Steam button. Click Steam > Go Offline. Click Restart And Go Offline.
3. BOTH: Enable the Portal 2 console in Options > Keyboard > Advanced.
4. BOTH: Press "~" (the one beneath escape), and type "sv_lan 1"
5. CLIENT: Press "~" (the one beneath escape), and type "connect 192.168.0.* (the number from step 1)
6. HOST: Press "~" (the one beneath escape), and type "map MAPNAME"
7. When a chapter is completed you enter the hub, & a new map needs to be manually loaded (step 6), except type changelevel instead of map.
8. To check your progress, you press "~" and the current map's name is shown in the top right of the screen.
Here is the list of maps in order:
Chapter 1
mp_coop_start
mp_coop_lobby_2
mp_coop_doors
mp_coop_race_2
mp_coop_laser_2
mp_coop_rat_maze
mp_coop_laser_crusher
mp_coop_teambts
Chapter 2
mp_coop_fling_3
mp_coop_infinifling_train
mp_coop_come_along
mp_coop_fling_1
mp_coop_catapult_1
mp_coop_multifling_1
mp_coop_fling_crushers
mp_coop_fan
Chapter 3
mp_coop_wall_intro
mp_coop_wall_2
mp_coop_catapult_wall_intro
mp_coop_wall_block
mp_coop_catapult_2
mp_coop_turret_walls
mp_coop_turret_ball
mp_coop_wall_5
Chapter 4
mp_coop_tbeam_redirect
mp_coop_tbeam_drill
mp_coop_tbeam_catch_grind_1
mp_coop_tbeam_laser_1
mp_coop_tbeam_polarity
mp_coop_tbeam_polarity2
mp_coop_tbeam_polarity3
mp_coop_tbeam_maze
mp_coop_tbeam_end
Chapter 5
mp_coop_paint_come_along
mp_coop_paint_redirect
mp_coop_paint_bridge
mp_coop_paint_walljumps
mp_coop_paint_speed_fling
mp_coop_paint_red_racer
mp_coop_paint_speed_catch
mp_coop_paint_longjump_intro