MCServer Test
#1
Today I tested MCServer with 140 online players. (I moved many peoples from the spigot lobbies to MCServerBig Grin)
It works really good without crashes and 20 tps.

But I found little problems:
  • I think we need more threads for chunk sending / generating. The sending is too slow when many players are online.
  • Many errors in the log file
  • BungeeCord support is broken / doesn't work
  • TNT causes many errors in the log
  • We really need player bounding boxes checks. Players with slow internet falls through the blocks.
  • Door direction is broken

At the end MCServer crashed. I don't know why and I don't have a corefile (Why?). But I think that a player moved extremly fast (Maybe with a flyhack).
Log file: http://dl.howaner.de/LOG_1425918327.txt

MCServer utilization with 100 - 150 players: 55% CPU and 300mb ram.
I really want to use MCServer for my lobbiesBig Grin

My world settings:
- Disabled redstone simulator
- Disabled monsters and animals spawn (Because entities causes many many crashes and bugs)
- Disabled lava / water simulator
- Disabled chat prefixes


Edit: Bearbins builds are broken. It needs a too high lib version. I was not able to use the executable on ubuntu server 14.04.
So I compiled my own version.
Reply
Thanks given by: jan64
#2
I think we should investigate the "Warn [18:33:01] cBlockArea: BlockTypes have not been read!". I don't think it's responsible for the crash, but something is obviously wrong there.

Also:
Wow awesomeBig Grin 140 players ;O Finaly a real stress testTongue
Reply
Thanks given by:
#3
(03-10-2015, 07:08 AM)NiLSPACE Wrote: I think we should investigate the "Warn [18:33:01] cBlockArea: BlockTypes have not been read!". I don't think it's responsible for the crash, but something is obviously wrong there.

Also:
Wow awesomeBig Grin 140 players ;O Finaly a real stress testTongue

If I got cloud connection (I need to implement a ByteBuffer in the lua network API) and bungeecord support working, I will test MCServer with 500 playersBig Grin
Reply
Thanks given by:
#4
I think i fixed that error spammed by core.
https://github.com/mc-server/Core/pull/123
Reply
Thanks given by:
#5
Regarding Chunk Sending/Generating, how many cores does you're server have? Also do you have the split for how the CPU was across cores? At the moment our threads are setup so that on a quad core machine lighting, sending and generating should be on separate cores, with one left over for world ticking. Since you're CPU was running at 55% the server was probably IO bound on the chunk sending, in which case we should look at the networking subsystems for sending that much data/more intelligent ways of sending chunk updates. (With default view-distance the initial sync is 20 MB of data). However if it was CPU bound it would be useful to look at running multiple threads or possibly compressing one chunk then sending it to multiple people.
Reply
Thanks given by: LO1ZB
#6
I've posted an issue on github (https://github.com/mc-server/MCServer/issues/1800 ) regarding more intelligent chunk update broadcasting.

It might also be possible to make use of the Multi Block Change packet rather than always sending an entire chunk. It is definitely possible to make better use of Primary Bit Mask in the chunk update packet, given that we store data in this format.
Reply
Thanks given by:
#7
We can configure which threads go in which core? I thought that the OS handled that. Fancy.
Reply
Thanks given by:
#8
We could but don't. However the os likes to spread CPU heavy threads out across multiple cores which tends to result in the pattern I gave.
Reply
Thanks given by:
#9
Howaner, could you give us your computer specs?
Reply
Thanks given by:




Users browsing this thread: 7 Guest(s)