help working out what kind of specs I need to be looking for on a lightly-modded server

hi! I run a weekly.. vanilla plus(?) SMP, usually 15-20 players online during a session. Thing is, we have a lot of bespoke & custom content.. ..but most of is through datapacks, which is you know. Not Ideal. I hate Mojang so much. We've been porting our shit to mods, but the process is slow-going. We do a lot to optimize the datapacks, but they still bring down performance like crazy compared to an equivalent world without any of the unported content. We initially ran off an Oracle always-free tier server, and have since swapped to running off my machine: i7 12700h / 32gb ddr5-4800 (20 allocated to the server) This helped a lot! The server is playable now, but lows of 7 TPS (average around 13) is.. not great. I know the datapack situation is dire (it really frustrates me that the game's provided mapmaking tools are so horribly made), and it's something we're working on, but it's not something we can solve -immediately-. So all that said-- we are looking at renting out a server, seeing if that will make any difference-- if we can just bruteforce some better performance until we've done what we can to port our content. Do y'all think this would be worth looking into? If it is, what kind of specs would I be looking for that would offer a decent improvement over self-hosting? Thanks, and sorry for the text wall. Guess I can feel less bad about it given this is a forum channel now 😅
25 Replies
Admincraft Meta
Thanks for asking your question!
Make sure to provide as much helpful information as possible such as logs/what you tried and what your exact issue is
Make sure to mark solved when issue is solved!!!
/close !close !solved !answered
Requested by rainyatrium#0
snowznz.bak
snowznz.bak2y ago
!spark
Carl-bot
Carl-bot2y ago
Spark Profiler
Spark can be used to see why your server or client is lagging. https://spark.lucko.me/
From An unknown user
Admincraft Canned Responses
ANKI! 🐢
ANKI! 🐢OP2y ago
aha so the issue is I don't have any recent spark reports & we are on hiatus-- can't get the full load for a more up-to-date report until next month I can try and dig up some from prior perf testing, though, or run a test w/o it being under load? Thing is a lot of the problems with datapacks show only at scale So from our testing, the server with a couple people might have 5% of resources taken up by datapacks And 40% with 15 people
ANKI! 🐢
ANKI! 🐢OP2y ago
Found a profile, but it's running uncharacteristically well here for the amount of players online. Need to check my calendar to see what the context of this profile might have been. Think everyone was concentrated in the central town for a boss fight? https://spark.lucko.me/QFGOpOQqyI We also experience a lot of issues with chunkloading Actually if you ctrl + f my messages, most of the ones sent in 2023 will be to do w/ this server
spark
spark is a performance profiler for Minecraft clients, servers, and proxies.
Admincraft Meta
Spark Profile Analysis
❌ Processing Error
The bot cannot process this Spark profile. It appears that the platform is not supported for analysis. Platform: Fabric
Requested by rainyatrium#0
snowznz.bak
snowznz.bak2y ago
use these flags
java -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -jar server.jar nogui
java -Xms12G -Xmx12G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -jar server.jar nogui
using too much ram can cause performance issues you should try using 8 and go up as needed set sync-chunk-writes=false in server.properties what is your current view and simulation distance?
ANKI! 🐢
ANKI! 🐢OP2y ago
High RAM allocation is a result of C2ME, which is very RAM-hungry It's recommended with it afaik One moment, will take a look. Will also definitely apply these flags & config and update w/ how it goes once we start running again
snowznz.bak
snowznz.bak2y ago
are you also using VMP?
ANKI! 🐢
ANKI! 🐢OP2y ago
I am not, it had a conflict with one of the other mods on the server but I forget which
snowznz.bak
snowznz.bak2y ago
try removing c2me after all they say its not stable for a prod server
ANKI! 🐢
ANKI! 🐢OP2y ago
I will give it a shot but I'm very hesitant to do so-- its addition was one of the things that saved performance a lot Chunk loading was essentially halted C2ME makes it slow but playable
snowznz.bak
snowznz.bak2y ago
have you pregened the world?
ANKI! 🐢
ANKI! 🐢OP2y ago
Yep
snowznz.bak
snowznz.bak2y ago
.
ANKI! 🐢
ANKI! 🐢OP2y ago
It's a 5kx5k WorldPainter map, no world generation's done Unfortunate I can't do proper testing on this for a while, but I figured I would try to get ahead of the game with research rather than scramble once we'd begun the next season (season start weeks are historically very hectic) Super appreciate the help & suggestions
snowznz.bak
snowznz.bak2y ago
can you send a list of mods used on the server also running off of a laptop is definietly not the best choice
ANKI! 🐢
ANKI! 🐢OP2y ago
haha, assuredly so-- but it's what I've got Hm, thought Spark listed them, but I can't find it
snowznz.bak
snowznz.bak2y ago
did you do a live profile? /spark profiler start --timeout 300 command should look like this
ANKI! 🐢
ANKI! 🐢OP2y ago
I usually do /spark profiler start & then stop it after I feel sufficient time has passed in this case the profile I sent was about an hour
ANKI! 🐢
ANKI! 🐢OP2y ago
No description
No description
No description
No description
Zaid
Zaid2y ago
"lightly" :thonk:
ANKI! 🐢
ANKI! 🐢OP2y ago
most of the mods are optimization lol
ProGamingDk
ProGamingDk2y ago
c2me aint fully stable/production ready btw
ANKI! 🐢
ANKI! 🐢OP2y ago
aware! the choice to use it was something of a last ditch in the face of horrifically bad (talking ~1-2 min per chunk) chunk loading perf c2me gave us slow but infinitely more normal chunkloading speeds

Did you find this page helpful?