
All The Mods 10 pushes NeoForge, hundreds of mods, and complex worldgen into one server process. If you want ATM10 optimization that players actually feel, you need more than a big RAM number. This ATM10 server config guide walks through server.properties, JVM arguments (including Aikar's flags as a baseline), world generation discipline, chunk loading limits, sensible entity controls, optional performance mods, and backup strategy. It complements hardware sizing: if you are still shopping, Space-Node offers All The Mods 10 server hosting on NVMe-backed plans sized for heavy modpacks.
Before you change anything
Match server and client versions
ATM10 updates often. Keep server pack build aligned with the client pack your players install. Mismatched scripts and mods cause confusing connection errors that look like networking problems. ATM10 ships Better Compatibility Checker, so the server list shows a tick when the client and server pack versions match and an X when they do not.
Take a snapshot baseline
Copy the world and config folders before bulk edits. Modded servers are sensitive to half-applied changes.
Measure, do not guess
ATM10 already ships spark and Observable, so you can profile without adding mods. For a quick check, /neoforge tps prints TPS and milliseconds per tick for each loaded dimension. Optimization without metrics is superstition.
server.properties: sane defaults for modded
You will still find server.properties in the server folder. The official ATM10 start script writes a default one on first run if none exists, with allow-flight=true, view-distance=8, simulation-distance=5 and max-tick-time=180000. Treat those as your baseline. Not every key matters equally for ATM10 server settings, but these are the usual levers:
view-distance and simulation-distance
High distances murder MSPT on modded worlds. The pack default is view-distance 8 and simulation-distance 5. Start there and adjust for your mod interactions and player expectations. There is no universal perfect number: lower until TPS stabilizes, then raise slightly if you have headroom.
max-tick-time
The pack sets max-tick-time=180000. Keep that default unless you have a clear reason to change it.
max-players
max-players does not allocate RAM by itself, but it sets expectations. If your hardware supports six comfortable players, do not advertise thirty.
spawn-protection
Use spawn-protection to prevent accidental grief around spawn while you set up claims mods. Size it to your hub plans, not zero or absurdly huge.
allow-flight
Many tech and magic mods expect allow-flight=true. Without it, legitimate movement triggers kick loops. The default server.properties from the ATM10 start script already sets it.
sync-chunk-writes
Remember that disk flush behavior interacts with NVMe latency. Slow disks amplify write spikes during autosave.
Always cross-check modpack documentation: some packs ship recommended server.properties overrides in server files or wiki pages. ATM10 does this through its start script, as described above.
JVM arguments: start from Aikar's flags
Aikar's flags are a widely used starting point for Minecraft Java garbage collection tuning. The official ATM10 server files already ship Aikar-style G1 flags in user_jvm_args.txt, so for modded you begin there, then adjust heap to your plan.
Typical pattern:
- Set -Xms and -Xmx equal to avoid heap resize churn during play.
- Use G1GC with Aikar's suggested flags for large heaps.
- Leave OS headroom: never assign every megabyte on the VPS to
-Xmx.
This is the user_jvm_args.txt that ships in the ATM10 8.2 server files (one flag per line in the real file):
-Xms4G -Xmx8G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M
-XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4
-XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90
-XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem
-XX:MaxTenuringThreshold=1
ATM10 does not launch from a server.jar. The official start script launches NeoForge with @user_jvm_args.txt @libraries/net/neoforged/neoforge/21.1.251/unix_args.txt nogui, so when you start the server that way, the heap comes from this file. The shipped values are -Xms4G -Xmx8G: raise -Xmx to fit your plan (and -Xms too if you want them equal), but keep memory free outside the heap.
For ATM10 we recommend a 12GB plan for 1 to 5 players, 16GB for 5 to 15 players and 32GB for 15 or more. If you under-allocate heap, GC pauses and chunk gen spikes feel like "random lag." If you over-allocate without leaving RAM for native code and OS cache, the Linux OOM killer ends the party.
World generation: control the explosion
Heavy modded worldgen is a top TPS killer during exploration.
Pregenerate during maintenance
Use a pregen tool compatible with your loader and world type, during off-peak hours, with backups enabled. Spread the workload instead of letting twenty players generate fresh chunks at once.
ATM10 includes no pregeneration mod, but NeoForge has one built in. /neoforge generate start 0 64 0 100 generates around that position, and the last number is a radius in chunks, not blocks (divide a block radius by 16). It needs permission level 4, so run it from the console or as a level 4 op. /neoforge generate status shows progress and /neoforge generate stop cancels it. It works in the dimension where you run it; from the console, use /execute in minecraft:the_nether run neoforge generate start 0 64 0 100 for the Nether.
Limit simultaneous explorers at launch
Soft rule: staged opening, hub first, dimensions unlocked over days. It feels less cinematic than "everything day one," but your MSPT graph will thank you.
Chunk loading and map mods
Chunk loaders and chunk tickets from tech mods keep areas alive. That is the point of automation, but unbounded loaders create permanent tick cost.
Audit loaders
Review default limits in tech mods. Teach players to use loaders only where needed, not world-spanning grids "just because."
Alternate dimensions
Mods add dimensions with their own generation rules. Each new dimension is another place where chunk loading can spike. Set community guidelines for early exploration.
Entity limits and mob farms
Modded players build impressive farms. Vanilla mob caps are not enough context when mods spawn extra entities or block entities.
Spawner and item buildup
Items on the ground are entities. Failed hopper lines create lag bombs. ATM10 already handles part of this: Crash Utilities Item Clear is on by default. Every 5 minutes it checks, and when more than 1000 items lie on the ground it clears them, with chat warnings 20 and 5 seconds before. Players with big farms will notice, so tell them. You can change the timer and limit in config/crashutilities-server.toml.
To see what is piling up, /neoforge entity list counts entities by type in your current dimension (permission level 2).
Villagers and pathfinding
Large trading halls stress pathfinding. Design halls with performance in mind: simpler paths, limited villager counts, and avoid cramming hundreds in one chunk.
Performance mods to consider (pack permitting)
ATM10 8.2 already includes server-side performance mods such as ModernFix, FerriteCore, All The Leaks and Clumps, so check the modlist before you add anything. Names change with versions, so treat this as a category checklist, not a promise every mod exists on your exact build:
- Recipe optimization and startup analyzers to catch script errors early.
- Lighting or chunk optimization mods compatible with NeoForge for your version.
- Client-side performance mods for players, which reduce complaints that sound like server lag.
Never bolt random "performance" jars onto a selected pack without checking official compatibility lists. ATM10 is fragile when you freestyle the mod list.
Common config tweaks for TPS
Mod-specific configs
Large mods expose tick rates, generation weights, and structure spacing in their configs. When a dimension lags, read that mod's section first.
NeoForge server configs
Server configs sometimes duplicate vanilla levers. Keep a single source of truth: if you tune spawn limits in two places, you will forget one. On NeoForge 1.21.1, server-type mod configs load from config/, and a copy in world/serverconfig/ overrides them for that world. Check both before you conclude a change did nothing.
Default world type
If the pack recommends a default world preset, use it. Custom world types can multiply worldgen cost.
Network compression and bandwidth
network-compression-threshold (when present in your stack) trades CPU for bandwidth. On modded servers with fast CPUs and good networks, defaults are often fine. If you serve players on metered links, small tweaks can matter, but never sacrifice TPS to shave megabits. Test with and without changes during peak hours rather than trusting theory.
Item merging and cleanup
Vanilla-style item merge behavior interacts with massive modded farms. If items spray across chunks during lag spikes, MSPT worsens in a feedback loop. In ATM10 the cleanup side is Item Clear, covered above: fix the leaking farm first, then tune config/crashutilities-server.toml if the defaults do not suit your server. Read the pack wiki before copying random values from old 1.12 posts.
Security basics admins forget
Whitelist during setup
Keep whitelist on until you are ready for public joins. Modded boot sequences take time; scanners still knock on open ports.
Ops and file permissions
Limit ops.json to people who understand what /reload does in modded contexts (usually: avoid it). Restrict SSH keys and panel logins. A stolen panel session becomes world grief faster than any creeper.
Docker, Pterodactyl, and memory limits
If you run inside containers, the cgroup memory limit must exceed -Xmx by a healthy margin for native allocations. A container capped at exactly 10 GB with -Xmx10G is a frequent OOM pattern. Leave real headroom between -Xmx and the container limit, more if you run backups inside the same container.
Profiling workflow with spark (or equivalents)
A practical loop:
- Capture a profile during lag reports, not when the server is idle.
- Note whether tick entities, chunk loading, or specific mods dominate.
- Change one variable (distance, pregen, mod config), reboot clean, measure again.
Chasing three changes at once makes attribution impossible.
Backup strategies that survive modded corruption
The ATM10 server files contain no backup mod (Simple Backups is only in the client pack), so world backups have to come from your host or your own tooling. Every recent ATM10 release note ends with the same line: "ALWAYS REMEMBER TO BACKUP BEFORE UPDATING".
3-2-1 rule
Keep three copies, on two media types, with one off-site. For a game server, pragmatic interpretation means: live world, recent local snapshot, remote copy.
Stop-the-world vs online backups
Online backups are convenient; modded servers risk inconsistent files if mods write during copy. If your budget allows, use filesystem snapshots or brief maintenance windows for critical milestones.
Test restores quarterly
A backup you have never restored is a wish. Practice restore to a staging folder.
Exclude ephemeral folders if your tooling allows
Some runtime caches can be excluded per your host's guidance, but never exclude anything you do not understand. When unsure, copy the whole server directory.
Hosting notes: RAM, disk, and CPU together
ATM10 server setup fails if any leg of the tripod is short:
- RAM: enough heap plus native headroom.
- Disk: NVMe for chunk IO and frequent saves.
- CPU: strong single-thread performance for the main server thread.
Space-Node focuses on game workloads with NVMe storage, which helps chunk loading keep pace with modded generation when paired with sane distances and pregen. Our ATM10 hosting plans follow the 12GB, 16GB and 32GB ladder above, and you can schedule backups and restarts from the panel.
FAQ
What are the most important ATM10 server settings for TPS?
Usually simulation and view distances, worldgen discipline (pregen, staged exploration), and heap sizing with Aikar-style GC tuning. Then audit chunk loaders and entity farms.
Are Aikar's flags always correct for ATM10?
They are a baseline, not a law, and the pack's own user_jvm_args.txt already uses G1 flags in that style. Start there, measure GC pauses with spark or JVM logs, then adjust heap and pause targets if needed.
Should I add extra performance mods to ATM10?
Only if pack maintainers or documented community practice supports them. Random additions break scripts and recipes.
How often should I back up an ATM10 server?
At least daily for active communities, plus manual snapshots before pack updates. High-traffic servers may want twelve-hour cycles and off-site sync. ATM10 ships no server-side backup mod, so set this up yourself or through your host.
Does NVMe really matter for ATM10?
Yes. Modded worlds are random IO heavy. Slow disks turn autosave and chunk loads into MSPT spikes.
Last updated: 2026-09-24