Some friends and I are trying to create a game using the UDK 3. Right now it's nothing special; we've got a Pawn that spawns and moves around a custom map, and it's all written over the example game that comes with the UDK. I'm trying to get a dedicated server set up so we can test our changes (it's going to be a multiplayer only game). We're all on beefy Windows machines on the same network, and the server is not being run through Steam.
I've been using the Unreal Frontend to compile and package the game. The installer works fine, and the game it installs works as well. We can set up a simple peer-to-peer multiplayer game, and that works. The problem is when I try to run it as a dedicated server from the command line. The command I type in is
UDK.exe server provinggrounds.udk?bIsLanMatch=true
This executes and brings up a second console that says the game engine has initialized, and then waits. Unfortunately, none of the other copies of the game on the network can see this server, which is a problem. Now here's where it gets crazy.
I discovered this in the "try random things to see what works" phase of troubleshooting. If I run the game as a dedicated server from the command line, then open a second instance of the game on the same machine but in normal game mode, and then have that instance host a multiplayer match, any other instances of the game on the network will see one server and when they connect to it they will connect to the dedicated command line server on my computer. Once they join, I can close the normal hosting game without affecting the server, but then nobody can see the server anymore.
I really don't understand what is going on here. Why can't anybody's game find the server under normal circumstances? Why is the server only visible when there is a game instance hosting a peer to peer game on the same computer? Is there a way to fix this?