Skip to content

Performance

We measured server tick times and time spent on each task during concurrent emote playback. In the chart, N-player equivalent is a synthetic load with N playback instances and N packet recipients. The test did not use N connected players.

Test results

MSPT is the time the server takes to process one tick. To maintain 20 TPS, each tick must finish within 50 ms. The p95 value means that 95% of measured ticks finished within that time.

Synthetic load Average MSPT p95 Maximum Total elapsed time Interpretation
50 22.72 ms 29.64 ms 36.57 ms About 30 s All measured ticks finished within 50 ms.
75 42.13 ms 47.50 ms 59.68 ms About 30 s The average stayed below 50 ms, but some ticks exceeded the threshold.
100 68.12 ms 75.35 ms 82.00 ms 43.2 s The average exceeded 50 ms, making normal gameplay unworkable.

Network processing was the main bottleneck in this test, accounting for about 82% of total elapsed time at a load of 100.

Methodology

Each point was measured with /emote stress-test 30s N N. The first N is the playback instance count; the last N is the packet recipient count.

Component Method
Playback instances Creates N independent server-side playback instances and places their display entities in the world. Emotes are shuffled with a fixed seed and start at different playback positions. No additional ServerPlayer objects or player connections are created.
Packet processing Passes each changed display metadata packet through N in-memory Minecraft packet encoders. Includes packet codec, compression, length framing, and generated byte-count costs.
Excluded costs Socket transmission, network latency, and client-side packet decoding and rendering are not included.

For example, 75-player equivalent simulates 75 concurrent emotes with every changed packet sent to 75 recipients. It assumes all players are within the same tracking range and can see every emote. Actual load may be lower when players are spread apart or only some use emotes.

Test environment

Component Configuration
CPU Intel Core Ultra 5 250K Plus
RAM 24 GB, single-channel
Operating system Windows 11
Minecraft 26.2
Emote 2.0.1 (DEV)
World Standard survival world
Other mods FerriteCore, Krypton, Lithium

FerriteCore, Krypton, and Lithium were included to approximate a typical server setup.

Limitations

These results alone cannot determine the server's maximum player count. Actual load depends on the proportion of players using emotes concurrently, tracking ranges, displays per emote, server CPU, compression settings, other mods, and world load.

The tested build was 2.0.1 (DEV). The current version includes many more complex default emotes, so results may differ even under the same conditions.

Single-channel memory may have affected performance under high load, but no comparison with a dual-channel configuration was made. This test therefore cannot establish the size of that effect or whether memory bandwidth was the main bottleneck.