Multiple server on one server

Hello !

I am doing a multiplayer game and am working currently on the exports versions.

Actually, my game take too much CPU on the server. So I plan to optimize it more and eventually upgrade a bit the server.

But I discovered that my game was not using all the cores. I have 2 cores, 4 threads, and I see that there is often one that is at 100% or over, but the other are almost not use.

So I read that it was because the Unreal Engine was not supposed to use several core. It has 2 threads (game thread and draw thread) but is not design to use more.
(It is what I have understood, but please tell me if I totally misunderstood !).

I have also read that it was to be able to have several server on the same dedicated server ! One server per core.

Is that all true ?
I tried to launch 2 same servers at the same time but it seems to be very slow. Is there something to do to be able to have several server on one dedicated ?
I think the server I have is just too slow but I have to be sure before upgrading.

Thank you a lot for your time !
All the best

Terminology can be confusing in regards to Servers. A Game Server being technically specific is a “Software Instance” of the server files (exe) running as a Service.

Physical server (bare metal) is the actual computer running an OS.

You can run multiple “Game Servers” on a single Physical Server… just as long as you have the resources and you configure each “Instance” to run as a service.

On a Windows server, physical box running Windows OS, You’d want to use software like Fire Daemon to define the instances as windows services.

Fire Daemon even allows you to allocate resources per instance. e.g. Cores, Ram, HDD etc.

Thank you for the information.
I currently know some things about what is the server, but I didn’t know that I should use another software to define the different instances.
I am using a Linux server. I thought that I just have to run the server 2 times and that’s all :sweat_smile: And it crashes. Now I know why.

But do you confirm that UE is already design to run on one core in order to do this kind of things ?

It’s multi-core (2 max), but not all tasks will run on 2 cores. A lot of the tasks/jobs are single threaded, while others are multi-threaded, multi-core.


There’s a lot of software options for server management. FireDaemon was my preferred when working on a bare bones box running windows server OS. For multi box setups I would use TCAdmin. It’s literally a game hosting control panel…what most Game Server Providers (GSP) use.

Whatever software you do use needs to be able to allocate dedicated resources.

e.g.
Instance 1 : CPU core 3 & 4, 4GB mem, 200GB Drive space
Instance 2 : CPU core 5 & 6,…

Core 0 is always for the OS.

Here are some other alternatives.
Ajenti - GitHub - ajenti/ajenti: Ajenti Core and stock plugins
pterodactyl - https://pterodactyl.io/
GameServerApp - https://www.gameserverapp.com/


Use the editors profiling tools to help narrow down resource requirements.

UE uses a lot of CPU and Memory. Also note that servers do not use GPU. They do not render anything, nor play Audio. You can optimize a bit by not having server logic attempt to execute visual fx and audio.

Oh, thank you for the information, it is more clear now !

Yes, I begin to look at all my actors and do what needed to be sure the server don’t do useless things (like making the windmill move haha). Like this, I finally manage to use not much CPU. Only my AI use a lot. I did optimization things on them when they are far away but it is still taking much. But I think I really have to upgrade my server in any case.

When talking about editor profiling tools, the problem is that the only tool I was able to use is the NetworkProfiler tool, since I can save it in a file and then analyse it. There is no other profiling tools I can use on the server. Isn’t it ?