#Dedicated server burns CPU with no players

1 messages · Page 1 of 1 (latest)

teal basin
#

Suggestion:
The dedicated server consumes significant CPU while completely idle (no players connected), causing unnecessary load. Reproduced on both Windows and Linux (Docker).

Details:
When no players are connected, the server burns CPU at a high rate. As soon as any player connects, CPU usage drops to near zero. This has been reproduced on two platforms:

Windows (Process Explorer, thread-level view):

  • Idle (no players): ~10% CPU total
  • With 1 player connected: ~0.01% CPU total

Linux / Docker (top -b -H inside container):

  • Idle (no players): three GameThread instances each at ~100% of one core (~20% of total host CPU)
  • With 1 player connected: CPU drops to near zero
PID 123  GameThread  ~100% CPU
PID 150  GameThread  ~100% CPU
PID 151  GameThread  ~100% CPU

All Wine-level processes (wineserver, winedevice, rpcss) show 0.0% CPU throughout, confirming this is not a Wine or Docker issue — it reproduces natively on Windows as well.

The behavior is consistent with an uncapped game loop: with no clients connected, the server ticks as fast as the CPU allows with no sleep or yield between iterations. When a player joins, the loop synchronizes with network I/O, which introduces natural throttling and CPU usage collapses.

Expected behavior: the server should throttle its tick rate (or use blocking waits in the GameThread pool) when no players are connected, reducing idle CPU to near zero.

Logs / Saves / DxDiag:
The issue can be reproduced on any system using process explorer or built-in windows tools. Can provide logs / screenshots if needed.

obtuse zodiac
#

Can concur this. happens to me too.

teal basin
#

This is very noticeable, as it makes the cooling system quite noisy and puts unnecessary additional load on the CPU. Hope will be addressed.

round veldt
spiral saffron
#

This happens on my Unraid / docker server. 2 cores on 100% when no players are connected.

elfin oxide
#

Thanks for the reports, we're investigating the problem

uneven dome
#

Adding to this as well -
ID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
13091 xxx 20 0 10.4g 4.6g 93056 S 213.9 29.7 25,40 GameThread
13042. xxx 20 0 23388 20352 2048 S 1.3 0.1 10:57.31 wineserver

teal basin
#

Following the developers' statement in the game updates thread regarding support only for the official server app, I’d like to emphasize once again, just to be sure, that the issue also can be reproduced after launching the official server app by clicking the “Play” button in Steam (and using .bat file also).

hushed owl
#

I'm not seeing huge CPU usage, but it is definitely doing more than it ought to at idle. It's idling around 13% usage on my 5825u miniPC server. Individual thread graph shows it alternating through threads. Memory usage is minimal. I'll have to check it out later once it has someone on it.

brazen sleet
#

I consistently get two cores at 100% while the server is empty

#

as soon as somebody joins it settles down

brazen sleet
#

something that might help, I don't have a GPU on my server, it uses integrated graphics

hushed owl
#

Same here, but it's but rendering anything. It's a headless server with a virtual display and there's nothing on the virtual display from the server.

teal basin
sour isle
#

anyone know if the latest patch solves it?

teal basin
#

No, it's not in the patch notes and not fixed. I've performed a test a moment ago.

quasi burrow
#

This is a big issue, also a thread on the steam discussion forums with many asking for a fix

sour isle
#

damn, yeah. When I reported this a while ago, they said they're aware and looking into it, so might be a difficult issue.

uneven dome
#

(Joking) are you guys mining bitcoin when there is no one is logged in to the server?

elfin oxide
#

Yeah, only can do that when there are no witnesses!

#

We're still working on a fix.

sour isle
#

need some sort of help? diagnostics? logs?

lyric tendon
#

Curious, is this just because it's running under Wine?
On Win 11, It's sitting idle at 8% CPU.

#

Average at idle is 8.55% CPU with 74 threads.

elfin oxide
valid bay
hushed owl
#

The percentage will vary based on the number of cores and threads available. Seems to like to use two.

round veldt
#

The usage will vary, on Ryzen 9 5950X it loads 4 threads to something around 30-50% on Win10 VM under XCP-ng (Xen server).

So if you see 8% overall usage you already see the problem, the idle usage should be basically near 0 if the server hibernates properly.

lyric tendon
#

That is curious. We're on a 3900X with 64GB RAM and a custom overclock.

#

Looking at out other servers, cameras are at 6%, and Conan exiles is at 1%

sour isle
#

13th gen i5 (16 core). 36-40%. Server process sits at 74 threads.

odd bay
#

PLEASE fix this, it's a huge issue if you are hosting multiple servers.

#

Having some way to query the number of players on the server so I can throttle it without sifting through log files would be better than nothing.

#

It's also probably driving your hosting partner Nitrado insane.

hearty moat
#

Ryzen 7 7840HS pegged at 26% per instance when Idle, surely we are close to some bandaid by now, even if its an invisible admin player always in world to keep server ever from being truely empty to trigger whatever is very wrong with the Idle logic

hushed owl
#

I'm sure they're going to be working on it. The connection issues simply took priority.

teal basin
#

I tried using ue4ss to adjust the tick rate, so it sort of worked and tick rate can be modified, but it seems the problem isn't that, and something else is eating up the CPU on idle.
Basically, can't figure it out without the developers, but at least I now understand how the server side interacts with mods. 😄

odd bay
#

It's some kind of infinite loop, maybe something to do with RocksDB idk (which so far seems not that great for building a game around)

teal basin
#

It doesn't look like it. From what I've observed, there are two threads that consistently consume nearly one core each (about 0.96 user-seconds per second of wall time for each), while the others are barely noticeable in the background. This pattern closely resembles a pair of “hot” engine/game cycles (typical candidates in UE are the game thread plus another heavy thread, such as a task/render-like layer), rather than RocksDB background compaction as the primary source (which would typically produce a different profile: spikes, different TIDs, and noticeable disk activity).

odd bay
#

I meant more of a "waiting for client to connect to open a connection to the DB" sort of thing, but that's based on absolutely nothing

dusky smelt
#

this is still an issue right now.. please priorize this, as this may destruct hardware. an corrupted savegame is only waste of playtime, but when my server dies... this is a LOT of a hazzle.

brazen sleet
#

I'd say this should absolutely the highest priority issue right now, it has the potential to damage hardware and makes some lower spec systems unuseable (not my case but the diference on mine is having the CPU temp at 36ºC idle to 82ºC with an empty server)

toxic chasm
#

Jumping on this bandwagon, having the same issue with my dedicated server CPU normally around 10-15% with 3 players online as soon as we disconnect the CPU jumps to around 50-55% and temp ramp up to around 80

flint falcon
#

+1 to this.

stoic cedar
#

+1 as well. I'm running a dedicated server for a group of friends and can consistently see CPU usage at 200% spread across CPU cores when the server is idling without any players online. Running on Debian with Indifferent Brocolli's Windrose Docker Image.

cloud dune
#

Didn't realize this, but yeah I can confirm the same behaviour on an empty server.. 2/32 cores absolutely pegged to 100%.

It's not constant though.. the work load is being distributed and spinning up on different cores at different times.

remote isle
#

+1 I'm experiencing this too on a dedicated linux AMP server, 35% CPU usage with an empty server and as soon as someone joins the server it drops to normal usage.....around a few percent per player

clever merlin
#

Same happens when "Host a Game" while Loading, the CPU Usage suddenly spikes and the CPU Fans goes into Max Setting. While No one connects

robust halo
#

same thing here - 2 cores maxed out at idle. Unraid using Docker

hearty moat
#

here’s the cleanest version of what i’ve got so far on the issue.

the hot threads are consistently 2x GameThread.

this looks like a pure userland spinbecause on the hot threads while idle at 0 players:

  • thread state stays R (running)
  • over about 2 minutes of thread CPU time, voluntary_ctxt_switches is only 3 to 9
  • nonvoluntary_ctxt_switches in the same window is 500 to 1300, which looks like normal scheduler preemption, not blocking
  • strace -c over 2 to 3 seconds on each hot thread shows 0 syscalls
  • /proc/$TID/syscall just reports running

so these threads basically never enter the kernel. no futex, no nanosleep, no recvmsg, no clock_gettime, nothing.

so guess a rough guess would be the following might be try

  • not an uncapped UE tick, because that should spam clock_gettime and probably futex
  • not Wine ESYNC/FSYNC spinning on NtWaitForSingleObject, because that should show futex (thank god for us linux users)
  • not network polling without backoff, because that should show recvmsg or poll

my best theory?
the signature matches a busy loop in userland inside the shipping binary.

the weird part is that it only happens when zero players are connected, which makes me think it’s tied to some pre-connection or waiting state rather than normal gameplay/tick behavior.

my current suspects are:

  • a spin while waiting for the first NetConnection in the lobby/session path
    • logs around this area: R5LogNetCm, R5LogP2pGate, R5LogIceProtocol
  • some kind of pre-connection handshake or auth polling loop
    • suspicious logs: R5LogEcCollector / UR5EcCollector::OnAuthorizationResult with empty AccountId

so at this point i don’t think this is a kernel wait issue or a normal engine timing issue. it looks more like game code gets stuck in a no-sleep loop whenever the server is empty.

i’m still digging, but that’s where the evidence points right now, so hope it helps

#

not saying its an ideal fix but appliying a kind of smart cpu throttle to just cap the process and release after a player connects seems to at least preserve hardware till this is fixed, doesnt stop the spikes from happening but kills them

sharp narwhal
#

Thankyou, this explains why it sounds like 1 of my 3 machines is taking off in the study. I checked and its when the Windrose Dedi has no players connected.

dusky smelt
#

if you run the game in a docker container:

`#!/bin/bash

Configuration, edit as you need it

CONTAINER_NAME="windrose"
LOW_CPU="0.5"
HIGH_CPU="4.0"

1. Find the container's PID on the host system

CPID=$(docker inspect -f '{{.State.Pid}}' $CONTAINER_NAME 2>/dev/null)

If the container is not running, exit the script

if [ -z "$CPID" ] || [ "$CPID" -eq 0 ]; then
exit 0
fi

2. Look into the container's network namespace using nsenter

We use the host's 'ss' tool to inspect the network traffic inside the container

CONNECTIONS=$(nsenter -t $CPID -n ss -u -a | grep -v "127.0.0.1" | grep -c "ESTAB")

3. Adjust CPU limits

if [ "$CONNECTIONS" -gt 0 ]; then
# Players online -> Increase CPU limit
docker update --cpus="$HIGH_CPU" $CONTAINER_NAME > /dev/null
#echo "Players detected!"
else
# Server empty -> Reduce CPU limit
docker update --cpus="$LOW_CPU" $CONTAINER_NAME > /dev/null
#echo "No players online!"
fi`

#

take this script and let it run as cronjob every 5 minutes or so. worst case is: when a player connects, he may have 5 minutes of low performance

#

but it saves your CPU from going to lava town

abstract burrow
#

Maybe some more clues here, this could also be the root cause of my issue? Up until the patch, I played the demo and then this early release for 9 hours SOLO, no problems. Now after patch, I click play in steam and fans go on fuLL blast and I get the black screen circle of death for at least a full minute, then crash out fatal error. Did all suggested troubleshooting steps. I have AT&T broadband in US. AMD RTX 7700.

rocky palm
#

same issue when empty server too.

rocky palm
#

Windrose dedicated server idle CPU issue

Observed:

  • Empty server uses about 220% CPU
  • top -H shows two GameThread threads near 100% each
  • wineserver is low
  • R5.log stays stable during idle test
  • strace suggests a short timeout/yield/IPC loop
  • gdb attaches but symbols are unavailable

Conclusion:
This looks like an internal Windrose dedicated server busy loop while idle, not primarily a Docker or Wine issue.

dusky smelt
dusky smelt
rocky palm
#

i ll test with winrose + too later

#

and ty 🙂

dusky smelt
# rocky palm i ll test

no one is playing on my server right now. With my script, that runs every 2 minutes, i checked right now: docker inspect windrose | grep NanoCpus gives me 500000000 and when one connects its at 4000000000. Temps are cool now and load of VM also.

Don't forget to adjust the script, especially HIGH_CPU to your CPU count. My system got 4 Cores, so i chose 4.0

hollow hull
#

tbh a native linux server build would be nice

dusky smelt
rocky palm
#

I changed the approach compared to your script, In your version you use network socket inspection (nsenter + ss) to guess whether players were connected. because the server keeps UDP/P2P/TURN activity it does not map cleanly the presence of a player, if i understand well my test.

So I switched to a log-based approach instead:

  • the script reads R5.log
  • it tracks Join succeeded: and PlayerDisconnected events
  • it maintains a simple player count state
  • if at least one player is detected, it raises the container CPU limit
  • if no players are left, it lowers the CPU limit

you can Cronjob every 1 min. it s log based

hollow hull
dusky smelt
rocky palm
#

ape strong together

hollow hull
rocky palm
#

nice

past frost
rocky palm
#

Daemon ready if you want

dusky smelt
#

how much CPU and IO does it use?

sour isle
#

Honestly this should all be a separate thread.

#

The issue is still there

rocky palm
#

yes

dusky smelt
#

constantly parsing a log with a service seems to be more intense than running every 2 minutes and "guess" if someone is online.

dusky smelt
rocky palm
#

2 cpu 100% all the night

#

it s a no

sour isle
#

MY workaround is to shut down the server when my firends and I arent playing.

dusky smelt
rocky palm
sour isle
#

Cool. Why not keep this post for diagnosing, instead of shoddy workarounds?

dusky smelt
#

i am hosting this server for a streamer and community. there are unemployed people playing all day 😄

rocky palm
#

shoddy ?

dusky smelt
sour isle
#

No, but the devs can.

dusky smelt
#

so they do, i hope. but meanwhile we 24/7 hosters need to maintain a save env.

sour isle
#

Ok, why not separate the topics?

void lantern
#

@dusky smelt Yes I do something similiar. But I am still optimizing as some players have lags. Real windows behave diffrent if you take away CPU Ressources after start and give them back after a player connect. Somehow the Server then does not use all of the cpu even if he can

dusky smelt
#

nah all people have that issue will read here and nowhere else. and now they find a workaround here @sour isle

void lantern
#

@dusky smelt does your script work for directIP? Yo check for UDP-Ports right?

#

But with directIP the UDP Port is always there

dusky smelt
void lantern
#

I use both. Wine via Docker and some on Windows. ^^

sour isle
dusky smelt
rocky palm
#

the man is negative

#

XD

#

half baked daemon ok

#

XD

dusky smelt
#

he is... only complaining. no solution

rocky palm
#

nothing 😉

#

half baked

sour isle
#

That's what im afraid of. That having this duct tape and spit, they'll put off making the real one. I just suggested separating topics, as they are separate topics.

dusky smelt
#

so your systemd service seems to use nothing but constantly watches the log file... i doubt the readings of 0.00

dusky smelt
rocky palm
#

oot@Hubert:~# tail -f /opt/windrose/.cpu_guard/actions.log
2026-04-21 12:37:20 mode=low cpus=0.5 players=0
2026-04-21 12:39:32 mode=high cpus=4.0 players=1
2026-04-21 12:39:32 join detected players=1
2026-04-21 12:53:21 mode=low cpus=0.5 players=0
2026-04-21 12:53:21 leave detected players=0
2026-04-21 13:01:33 mode=high cpus=4.0 players=1
2026-04-21 13:01:33 join detected players=1

#

it works

rocky palm
#

now 🙂

#

it s not really 0

#

but it s very very low

dusky smelt
#

so we can even adjust limits on player count... cool... if its less than 4 we can give it 2 cores and is we go closer to 10 we can give it a step up

rocky palm
#

look in the last screen the temp+ was 43

#

0:00.43 cpu_gard_daemon

void lantern
#

hmm using the log is also a good idea, right

rocky palm
#

I have a dedicated vps for doing this type of workaround. if i break everything there is no issue for me.
So please use this type of patchon dedicated environement.

void lantern
#

AFAIK the UDP-Ports stays open after the first connection even if no players are on the server right? but the CPU-Usage goes up if no players are on the server right?

rocky palm
#

yes

dusky smelt
#

i dont know why my message is moderated and blocked... @rocky palm you got a "wait for container function there" that may can be an infite loop

rocky palm
#

i ll check this

sour isle
#

Why not a memory reader, geniuses

rocky palm
#

the real loop is on the windrose side, the GameThread wake up roughly every 10ms, do a bit of work, yield, and repeat even when idle.

dusky smelt
rocky palm
#

HA

rocky palm
#

so yes but resource usage stays negligible. and it is on my dedicated vps .

#

less than 0.01

#

better than 300% CPU XD

#

and it s more a waiting loop than a CPU loop so no pb with this

teal basin
#

This doesn't solve the main problem, which is that it needs to be native and optimized by the developers. We'll still have to wait for their solution. 🙂

dusky smelt
rocky palm
#

it costs money ^^

#

players want to play

quasi burrow
void lantern
#

At First I tried checking on the traffic of the server but this only Works on native Windows. In wine des Docker traffic Delta has high Noise. But the Log parsing works well.

past frost
#
  • Linux native server got registered in steamdb yesterday (20th)
  • Today It feels like #1495518685719433246 get less tickets created

🕵️ Complot Theory: Nitrado got early access to linux server application

cloud dune
#

It seems unlikely that a native linux build alone would be sufficient to fix this however.

They are likely just using unreal engine's built in mechanism to cross compile for linux using the same source which we speculate causes the bug in the application logic layer.

Unless of course in doing the linux native build they also included additional updates/fixes not yet announced.

past frost
rough raptor
#

has anyone used the "Windrose Server RESTAPI" mod (from nexusmods) and has experience with this? i wanted to try and utilize it to detect when the server is empty. i am running the windrose server native on windows 11, no docker setup.

odd bay
rough raptor
#

it seems to produce a "Connected Accounts" list. thanks for the input @odd bay, i'm going to try this

dusky smelt
rough raptor
odd bay
#

I just subtract the disconnect messages from the connect messages

rocky palm
#

Server Query
Windrose dedicated servers don't respond to standard server queries, so your server won't show player counts or status to external tools. Windrose+ adds a query responder so server browsers and monitoring tools can see your server.

#

you can try this framework

elfin oxide
#

We're still working on a proper linux dedicated server. Please, before trying to use Windrose+ backup everything you possibly can. ANY modding right now is extremely risky and very very often causes irreversible save/world corruption

candid radish
pulsar lily
flint falcon
#

I did convert that shell script that people are sharing here to a powershell script so you can run this on a windows machine if anyone is interested. it checks log and changes the cpu to low mode/high mode. Although I do agree with everyone, this should be a top priority. having this run at full blast even, sometimes even when it's not empty is an issue imho.

hearty moat
#

only when empty* the server is impeccable when populated with even a single player

#

which drastically narrows down the culprits

odd bay
hearty moat
#

think he was more just responding to all the people who kind of hijacked this post abotu native linux server, windrose mods, and rcon ports instead of staying on topic SadCat

carmine junco
elfin oxide
#

We are aware and working on a fix.

carmine junco
#

Appreciated, just a crazy bug - I assume host providers must be having their CPUs railed?

Someone forgot to put a wait on the 'CheckIfPlayersConnected' loop XD

sour isle
empty rampart
#

+1 This was reported 8 days ago, it seems like a fairly important fix to prioritize and or provide a timeline or planned release date as Martus mentioned. I love the game and run a server for my friends to play on, but I'm about to stop hosting it until a fix is implemented when we're asleep and my poor host PC is just revving up for no reason

void lantern
lyric tendon
#

Was curious why ours is only showing 8-9% when y'all are showing a lot higher. Turns out it's only low sometimes, and my reporting tools aren't picking up the peaks appropriately.

past frost
lyric tendon
#

2 cores maxxed with 16 cores total measures about 12%, so I suppose it is a bit close.

past frost
#

yes if you include system usage

void lantern
#

So can you guys help me out with log parsing. What messages do you look for? When do you throttle the server and when do you activate it? I tried some things but it seems a bit unreliable at the moment

#

The "cpu_guard_daemon_deploy_script.bat" floating around in this thread is already working properly?

candid radish
#

it's for Linux from what I could tell, not sure if @past frost is looking for a Windows version?

void lantern
#

I only need to know which messages to look for as I already built myself an tool to handle ressource limits

candid radish
#

THese are what I'm using

  1. Join token: "Join succeeded:"
  2. Disconnect token: "PlayerDisconnected. State Connected"

But I also found when the server first starts, it waits for a player to connect then it generates a bunch of stuff before the Join succeeded message. If the CPU is capped low it will take a very long time. So I also added

Signal token: "ProcessAddPlayer" detect to uncap the CPU with a 60 sec delay to go back to capped if Join succeeded: isn't seen

hearty moat
#

personally I didnt even watch join/leave events and just set an acceptable threshold for cpu usage as its wildly different even with 4-8 players vs idle

void lantern
#

I did some profiling and it looks like the P2P Handler is what burns the two threads

hushed owl
dusky smelt
# elfin oxide We are aware and working on a fix.

add more coffee and pizza to the devs 😄 Love to hear, that you are on it. Multiplayer seems to be a low priority thing before launch of the EA. No chat, no lockable chests, no name-tag-control... On my server is a dude called "Hässlon van der Fott"... now my server needs to be 18+ because i can't control anything to protect younger ones. BTT: my workaround for linux and docker will work also on windows and docker. native win maybe too. the approach is simple:
"if ( no player ) then choke CPU to min."

dusky smelt
void lantern
flint falcon
# dusky smelt sharing is caring. post it here.

NOTE: THIS IS A TEMP. SOLUTION. THIS IS FOR DOCKER FOR WINDOWS USERS.

DESCRIPTION:
It is just similar to the other script that was shared earlier...but since that was a bash script for linux with docker. The script I made is a powershell script for Docker for Windows. It reads the container logs and determines the number of players and changes the CPU for that container.

HOW TO USE:

  1. drop the powershell script into a dir. BEFORE DOING STEP 2, BE SURE TO OPEN THE ps1 file first with notepad to inspect the work BUT also change lines 2,3, and 8. Lines 2 and 3 are CPU settings, number of CPU you want to allocate. Line 8 is where you want the log to store...in case you want to see the log.
  2. launch container (like docker compose up -d, if you use docker compose)
  3. then launch powershell via as an admin
  4. run -> powershell -ExecutionPolicy Bypass -File "C:\location-of-the-file\cpu_guard.ps1" (leave powershell opened)
#

(continue'd) I do want to say the usage on the cpu in my file has 3, but 2 is fine. depending on the number of players you are sharing this server connection with. you might want to bump that up. I think you can find that online on min sys requirements.

Also I want to add that CPU Usage with players connected is still (IMHO) higher than I would like it to be. So my issue is that CPU usage for both when there are no players connected (like the initial issue that was reported) but also the CPU usage when players are connected could be optimized. I know, it's EA.

candid radish
void lantern
#

you guys dont need all the detection and cpu throttling to fix it. You can just patch the binary with the patch I linked. This works great!

#

it works like the server should to begin with ^^

candid radish
hearty moat
void lantern
#

there also is a ue4ss version so you dont have to patch the binary as it gets patched in memory

#

lets hope they fix it next update

rough raptor
wary smelt
#

Same here, need to try one of your fixes soon. i have no problem with two or more cores busy but the power consumption raised from 40watt to 75-90 watts for the whole server when windrose is idle Sip

stoic cedar
# obtuse falcon https://github.com/nodecraft/Windrose-Idle-CPU-Fix

Can confirm, I installed this over the weekend and it works great. I'm running Windrose on Debian via indifferent brocolli's docker image. I have windrose+ disabled and ues4 enabled. I had two small issues, first boot of ues4 will overwrite any mod settings that you do, so you might need to enable the cpu fix mod again and restart. 2. ues4 would time out since it couldn't detect the windrose engine version, so I edited the ues4 settings ini and set it to major version 5 and minor version 6. After that, everything worked great.

obtuse falcon
sour isle
dusky smelt
#

I am so happy, that they are fixing this issue somehow and sometimes... but hey... they switched some of the connections from UDP to TCP only... so my original script wont work anymore. Great! so i took @rocky palm approach and melted in the idea of @candid radish. i created a systemd timer and service and let it run every 20s. seems good. and i gave it 5 minutes of full power after container starts:

cyan badge
# obtuse falcon https://github.com/nodecraft/Windrose-Idle-CPU-Fix

This mod works great too as a workaround until devs release the fix in the next patch. My dedicated server is on Linux Mint using wine (no docker). Server runs nice when idle now. 😎 No constant fan running, and the CPU temps stay at 55c-65c instead of crazy hot at 95c-100c.

To get it to work, you'll need the latest experimental release of UE4SS installed (can get it from the UE4SS Github repo), then set the major and minor entries in its *.ini to match Windrose's Unreal Engine version (which per the logs is 5.6.1 - so major=5 minor=6). I turned off all the mods that came with UE4SS and just added and enabled the Idle CPU Fix mod (via mod.txt).

obtuse falcon
vapid helm
#

One message removed from a suspended account.

hushed owl
sharp narwhal
#

omg dedi is running and my server is not sounding like it wants to take off to space! update is looking promising

toxic chasm
odd bay
#

thank god for patch ❤️

lyric tendon
#

I see ours is averaging 0.37% CPU, which is a drop from the 8-9% that it was before the patch.

#

At idle, of course.

hushed owl
#

2-3% usage at idle now. Great work dev team!

maiden rover
#

Something changed. running at 1% usage with two players in the game.

sour isle
#

I was running at 1-3% with players before the patch. Now it's running at 1-3% without them too.

#

i think it's safe to mark this one fixed, boys.

hybrid nova
#

I'm running on older hardware, so I'm at about 5-6% usage both with and without players on the server. While this update makes it viable to have the server up all the time (I had been taking it up and down depending on when my friends and I wanted to play).

Am I crazy for expecting CPU usage to drop significantly when no users are on the server? For my Factorio and Terraria home servers the games are effectively paused and CPU usage is minimal until a player joins.

#

not trying to look a gift horse in the mouth and maybe my expectations are out of line with how these types of games operate typically.

hushed owl
#

I'm not sure this game's server stops the clock when no one is connected like those other games.

hybrid nova
#

huh, Valheim also auto-pauses when no one is logged in. I wonder if that's an oversight?

hushed owl
#

Very well could be. It's early days.

cloud dune
#

yeah it's fixed on my end. Time still passes when no one is connected, and I prefer it this way. IE: if you place orders for materials that take 70 minutes to deliever, you don't need players connected for 70 minutes for those to show up.

hushed owl
#

That's the main reason I can think of to keep it running. It keeps all the timers going. Crops grow, respawns happen, orders, etc.

hybrid nova
#

Yep, that makes total sense on why it might be beneficial...but I'd love the option at least.

A middle ground would be to give a pause timeout option on the server settings.
emptyPauseTimeout = 5400 would mean the server says unpaused for 90 minutes if no user is active. After that time, the game pauses until someone joins.
emptyPauseTimeout = 0 would mean the server immediately pauses when all users drop.

I think the biggest problem with implementing this is that the game appears to have no pause built into it whatsoever based on all the requests for the ability to pause the game. Lots of people requesting it though:
https://steamcommunity.com/app/3041230/discussions/0/757304275016619929/

#

I'm contemplating just using Nitrado instead of self hosting if it's going to be running 5% of my CPU. sometimes we go a week or two where we can't get together and game, but sometimes guys pop into the server randomly. I'd love to have a middle ground here.

cloud dune
#

there are some systems that can work similarly to the above. IE: they enter a suspend mode when no one is connected. When it's time to wake up they "simulate" what would have occurred during the suspension time.

this is quite off topic all the same lol

hybrid nova
#

Haha, yes. it is off topic. Happy they addressed the original issue! I'll leave it at that 🙂

uneven dome
#

It is a 95% better now taking only 25% CPU usage, but ultimately it should be less then that when we get the game closer to production. If no one is connected I do not see a reason to burn anything above 1-10%. It is literally just should be having the advertising and the connect process. Is it because it is calling home and setting up a way for people to connect via the code? If that is what is using it up, then for production give us ability to lock ports down, and in the client the ability to put in an IP address.

As mentioned, great for now. But ultimately needs some more work as you get closer to production.

If you are looking at a heavy process, I have Apache running listening for connections on 10 virtual servers. Total usage 1% and the theory is similar, listen for connections when someone connects pump data as fast as possible.

hushed owl
#

IMHO, the level of cpu usage I'm seeing now is totally acceptable long term. 2-3% at idle on a 8c/16t processor is just fine.

flint falcon
#

CONFIRMED. This is a huge improvement! It's like <3% when noone is there. and as a bonus you guys fixed CPU usage when players are in the server....

#

great work