Always up-to-date test servers

qwc

Docker Dude!
Contributor
Hi there, it's docker dude again. :cautious:

I've added two additional jenkins jobs on my instance which setups a latest stable server and a latest unstable server after every successful build, so if you active developers want to check something multiplayer related @unstable feel free to join the server. Currently it's just vanilla gameplay without any modules, I'm still searching for a sample config for 'real playing'. Maybe I'm setting up one later on.

Server data:
stable:
- ip: mmo.to
- port: 25777
unstable:
- ip: mmo.to
- port: 25778

Currently the servers are eating some of my RAM :D, the servers without any players got 1GB per instance. Joined the stable one and did almost nothing and it went up to 2GB of THIS instance, sums up to 3GB. Will be interesting to watch the stats if more players join. :geek: :coffee:
 
Last edited:

qwc

Docker Dude!
Contributor
Small update:
I've put JoshariasSurvival and CheatsForAll to the config and played a bit with the world setting so that the hills arent tooo high. :thumbsup:
So have fun crafting! And don't use the shutdownServer command! :eek:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Both servers have been added to the official in-game listing! Thanks so much for setting that up :)

And yeah no worries on the shutdown, since CheatsForAll doesn't allow that one :D

I'd be curious about long-term statistics. Even with few to no players would a server slowly climb up over time in memory due to leaks? Will CPU have appreciable load even when idle or increase over time? Post away if you notice stuff like that :)

(Also: Contributor badge!)
 

qwc

Docker Dude!
Contributor
Hey thanks for the badge.

All I can tell at the moment is that the cpu load is always at least 15% and sometimes up to 30% in IDLE mode for terasology alone (but two server instances!).
Memory consumption currently 2860MB for two instances in IDLE mode.

With players, depending on worldgen the CPU went up to 800% (inclusive all other services running of course) the first time ever. :D (yeah 800% means 8 cores! So looking at the 15% idle is super okay)
On the RAM I can't remember really, my stats subdomain is live and not historical so I can't get back to a specific time and date, but I think I can recall that it wasn't over 5GB of RAM for both instance with at least 2 players on one instance.

But I am planning more statistics in the future, also historical information, but haven't got the time yet to set those up.

FYI: The statistics service I'm using can't distinguish between those two server instances and lists them as one!
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Oh that two for one bit makes a bit of a difference then :)

Yeah world gen will tear through CPU - I sometimes wonder if we should try to find a smart way to limit it. Like specifically for heavy processing inclined threads try to limit max threads to system cpus minus one or two (so long as that's still at least one). That way at least the system itself shouldn't croak or entirely block out other processes. Or something like that.
 

qwc

Docker Dude!
Contributor
As long as this limitation is configurable. :)
Because maybe some ppl want to set up a terasology only machine? Then you don't care about the load.

Oh and btw. just checked, a build of the unstable/development branch runned 6 hours ago, and 6 hours ago the unstable docker machine was restarted, so my intended process is running good. :D
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Excellent! And yes I would aim to have that be configurable.

There actually was a pending pull request some time ago that specifically aimed to enhance thread pools and such, but it didn't get finished in time before the author disappeared off to RL duties :( We have an issue placeholder to resurrect it sometime, maybe that sort of configuration could be included.
 
Reactions: qwc

qwc

Docker Dude!
Contributor
Hmm, maybe a good entrypoint for me to get into terasology source, in my last job I had to do quite some performance tuning of java applications in the data analysis field and performance and energy optimization of close-to-hardware microcontroller programs in C. So, let's say it's inside my list of fields of interest. :D

Sidenote: broke 400 pulls barrier of the docker image, beside the fact that my server also pulls at least once per build to setup the mentioned servers (original posting), this number is still going up fast.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Awesome! Let me know if you'd like a freebie license for YourKit, great profiler, although that threading change was somewhat more about architecture and flexibility. Profiling comes close behind that sort of thing though.

There are also some related disposal issues where one or more threads somewhere never correctly terminate. Several issues like that on GitHub, can dig them up and send them your way if you like, just let me know!
 
Top