Quite a few people have noted that they are having multiplayer issues with recent UDK builds. They can connect to a server just fine over a LAN, but whenever they connect to a server hosted on the internet they get dropped. Since so many people are having this issue I decided to post a new thread instead of just posting my solution 7 pages deep in another one.
The output is similar to the following:
Client Log
[0058.77] DevNet: Browse: /TT-T_Sandbox1?Name=Player?Team=255 [0058.77] Init: WinSock: Socket queue 32768 / 32768 [0058.77] DevNet: Game client on port 7777, rate 10000 [0059.67] DevNet: Welcomed by server (Level: TT-T_Sandbox1, Game: Titan.TitanGame) [0059.79] NetComeGo: Close TcpNetDriver_0 TcpipConnection_0 :7777 09/18/11 20:55:44 [0059.80] Log: Pending connect to '/TT-T_Sandbox1?Name=Player?Team=255?game=Titan.TitanGame' failed; Your connection to the host has been lost. [0059.80] ScriptLog: (UTGameViewportClient_0) UTGameViewportClient::None:NotifyConnectionError Message:'Your connection to the host has been lost.' Title:'Connection Lost' [0059.82] DevNet: URL: Adding default option Name=Player [0059.82] DevNet: URL: Adding default option Team=255 [0059.82] DevNet: Browse: TT-T_Sandbox1?closed?Name=Player?Team=255 [0059.82] Log: Failed; returning to Entry [0060.10] Log: LoadMap: TT-T_Sandbox1?closed?Name=Player?Team=255
Server Log
DevNet: NotifyAcceptingConnection: Server TheWorld accept NetComeGo: Open TheWorld 09/18/11 22:24:04 DevNet: NotifyAcceptingChannel Control 0 server World TT-T_Sandbox1.TheWorld: Accepted DevNet: Remote platform is 1 NetComeGo: Close TcpNetDriver_0 TcpipConnection_4 :59619 09/18/11 22:24:04 DevNet: NotifyAcceptingConnection: Server TheWorld accept NetComeGo: Open TheWorld 09/18/11 22:24:04 NetComeGo: Close TcpNetDriver_0 TcpipConnection_5 :59619 09/18/11 22:24:04 DevNet: NotifyAcceptingConnection: Server TheWorld accept NetComeGo: Open TheWorld 09/18/11 22:24:04
I noticed that this problem vanished when I tested with a teammate after cooking and packaging, and I believe I know why. After cooking and packaging a file appeared in my UDK//Binaries folder called UnSetup.Game.xml. This XML file contains two fields, GameUniqueID and MachineUniqueID. I noticed this file also was packaged with my installer. I decided to copy that file from package-created installation folder and place it in my development Binaries folder that is under source control which ensured all teammates had the identical file.
This seems to have solved the problem. My assumption is that the engine cares about the GameUniqueID when an internet multiplayer session is started, but it seems to ignore it for LAN games.
So to recap, if you are having this issue, please try the following.
- Using Unreal Frontend, fully recompile all scripts
- Cook all game packages
- Package your game into a UDK installer
- Install the game from that installer, and look in the Binaries folder in that new directory for UnSetup.Game.xml
- Copy that xml file back into the Binaries folder in your UDK development folder
- Ensure all teammates have an identical file
Best of luck to you!
I am very inexperienced in game development with UDK, but believed that the multiplayer was a native system, without the need for many settings. It turns out that when trying to start any UDK example map/game (DM-deck i.e.) on a Multiplayer Lan, not getting success, simply does not connect. I checked the locks on windows firewall, all adjusted to allow connection and nothing. I can start two instances of client/server on the same PC but when I put two PCs on a network (LAN) they can not connect the client to the server. I activated the log to check the error messages and the client appears error messages similar to the ones you mentioned in your post. Does that make any sense to you? If you can give me any tips for finding the solution would be very grateful.
Tanks!
I am using the version UDK-2011-08 32bit on Windows 7
This a connection error:
[0014.08] NetComeGo: Close TcpNetDriver_0 TcpipConnection_0 192.168.51.222:7777 05/04/12 16:43:01
[0014.10] Log: Pending connect to ‘192.168.51.222/DM-Deck?Name=Player?Team=255?game=UTGame.UTDeathmatch’ failed; Your connection to the host has been lost.
[0014.10] ScriptLog: (UTGameViewportClient_0) UTGameViewportClient::None:NotifyConnectionError Message:’Your connection to the host has been lost.’ Title:’Conne
ction Lost’
The first thing I would do is add the following to DefaultEngine.ini under Core.System
-Suppress=DevOnline
-Suppress=DevNet
That will remove the suppression on DevOnline and DevNet debug messages and will, in theory, give you more information in regards to the root of your problem.