How will a client be able to use my dedicated server?

Dear all,

I have questions regarding dedicated server. I would like to understand how it works and if it fits the game I’m developping.

I would like to build a dedicated server for the following scenario.
The dedicated server will serve for players’ authentication and registration. I don’t want clients to access the database.
All messages sent from one client to another client or clients will pass through the dedicated server.
The server will also be used to give information on objects and other stuffs.

The client will own the game logic and the content. The dedicated server not.

If I take the shooter game sample or if I run my game, I check the Dedicated Server option and everything is functionning. But I don’t understand what the Dedicated Server does. What exe is launched and where to find it.

I follow the wiki link:Dedicated Server(A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums) To achieve it, I’ve taken the source code from the github and compile the engine. I’ve been able to launch the built engine.
Since I don’t want the entire game in the dedicated server, I’ve created a simple C++ project without any game logic.
I’ve compiled using a *Server configuration.
But know, I have an exe and I don’t know what to do with it. It is mentionned cooking the exe. But I don’t know to achieve this.

What I want to do, is launching the Dedicated Server from Visual Studio and launch my client(s) from the Unreal Engine editor. How the client will be able to use my dedicated server ? How it request connection ?

I read lot of articles on the web but no one explains in detail the mecanisms with dedicated server.

Thanks for your help,
D. Aigroz

After following several discussions on the subject and seeing so many persons not being able to make a dedicated server, I think it will be great if someone prepare a sample project with a separate Dedicated Server and not as in the Shooter Game example, where the server and the client are in the same project.

Is it in the plan to have a sample project for Dedicated Server ?

Many txs,
D. Aigroz

Have you ever got any answer on this topic?
I can not understand how such an important topic is not covered by UE team? UE tend to be professional tool and do not cover dedicated linux server setup or tutorials on how game should be built to implement dedicated servers properly. Very sad.

Yes I finally implement a dedicated server. To better understand how it works, I’ve checked how Unreal Tournament implements client/server mecanism. I think UT is better than ShooterGame to understand client/server architecture.

Good morning. I have done a lot of worries and a lot of reseeting about this mechanism.
Anyway, after running the dedicated server .exe file hosted by the client, the server file that was executed thought about the mechanism that the client informs the client of the ip: port so that the client can access the address.

However, I would be grateful if you could connect to the server from the outside and tell me how to run the .exe file on the server, or the part of the UT server mechanism you realized.

This is sample of the batch file for launching the server and two clients

d:
cd "D:\KadeoGames\UDK\KSGM\Binaries\Win64"

del D:\KadeoGames\UDK\KSGM\Saved\Cooked\WindowsServer\KSGM\Saved\Logs\ServerNoPswd.log


start /B KSGMServer.exe M-Entry?Game=Lobby -server -log -log=ServerNoPswd.log
timeout 5

del D:\KadeoGames\UDK\KSGM\Saved\Cooked\WindowsClient\KSGM\Saved\Logs\ClientIraqueNoPswd.log
del D:\KadeoGames\UDK\KSGM\Saved\Cooked\WindowsClient\KSGM\Saved\Logs\ClientEisroNoPswd.log

start /B KSGMClient.exe 192.168.1.148 -game -id=Iraque#T8V7RX -pass=DEBUG -WINDOWED -ResX=1600 -ResY=900 -log=ClientIraqueNoPswd.log
timeout 5

start /B KSGMClient.exe 192.168.1.148 -game -id=Eisro1#h6J7Rm -pass=DEBUG -WINDOWED -ResX=1600 -ResY=900 -log=ClientEisroNoPswd.log

The parameter id= is internally used to know the userid and the pass= is set to DEBUG for letting me debugging without having to sign-in.
In a normal situation, the launcher I’ve developped launches the client with the right id and a crypted token password generated by the http server I’ve setup.

I hope I’ve responding to your question.