Network Poking

Network poking can be achieved so that you and your friends can modify Halo together in real time!
 * NOTE: Network poking is only implemented in the EXPERIMENTAL version of Assembly, so go to your settings and make sure you have the correct version.

The first thing you need to do is access the group poking tool in Assembly under the Tools drop down menu.

Next you need to determine who will be the host. I don't think it's very important who is the host, and the Assembly networking host DOES NOT need to be the same as the in game lobby host. Any player can host the Assembly networking tool and changes will still be applied the same way.

The host will then need to share their IP address with the other players who are participating in the modding session. You can easily find your IP address with Google, just type "what is my IP". Assembly attempts to use uPnP to automatically forward ports for you. You may need to do some port forwarding if you are host and people are unable to connect. This is probably indicative of your router having poor uPnP support. The host will then press the start server button. Hosts only need to specify the port they want their connecting clients to use. The remote address field is not used for hosts. Once the server is started you will get this message.



After the server is started, the other players should put the hosts IP into their "remote address" field and press the connect button.



If successful, clients will see this dialogue box.



Once everyone is connected, all players should open the same map. Assembly will only attempt to use poke data from other people in your session if you have that map open locally. Otherwise all pokes will be discarded.

At this point, everything should be ready to go, and the host of the game lobby can start the match.

Important Notes
1. When a person alters the game through poking, it will effect everyone connected to the Assembly server, BUT NOT everyone simply connected to the game. All players in game should be connected to the Assembly server AND have the same .map file open, even if they do not intend to do any modding.

2. When one person pokes changes to the game, they will be applied to THE GAME ONLY. The changes one person pokes to other players games is not automatically loaded into other players Assembly. To view changes other people have made in Assembly, go to the tag that was change and press the "reload from memory" button, or ctrl+alt+R. This will load the values that are currently applied in the game into your Assembly.

3. If one player makes changes to something that another player is directly interacting with (i.e. changes the projectile of a weapon that is currently being fired) this may lead to a game crash.