low tps from contraption
yoblex opened this issue · 16 comments
Description
https://observable.tas.sh/p/zYPIx/chunks
Game Log
https://observable.tas.sh/p/zYPIx/chunks
Debug Information
Client Info
Create:
Mod Version: 6.0.6
Mod Git Commit: 20ad05b5e525166018d21e88c96986f867c7088f
Ponder Version: 1.0.56
NeoForge Version: 21.1.209
Minecraft Version: 1.21.1
Graphics:
Flywheel Version: 1.0.4
Flywheel Backend: flywheel:indirect
OpenGL Renderer: NVIDIA GeForce RTX 5070/PCIe/SSE2
OpenGL Version: 4.6.0 NVIDIA 580.88
Graphics Mode: fancy
PojavLauncher Detected: false
System Information:
Operating System: Windows 11 (amd64) version 10.0
Java Version: 21.0.7, Microsoft
JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx8192m -Xms512m
Memory: 335757664 bytes (320 MiB) / 2998927360 bytes (2860 MiB) up to 8589934592 bytes (8192 MiB)
Total Memory: 2673644768 bytes (2549 MiB) / 2998927360 bytes (2860 MiB)
CPU: AMD Ryzen 5 5600X 6-Core Processor @ 3.70 GHz; 6 cores / 12 threads on 1 socket(s)
Graphics cards: none
Other Mods:
Camping: 2.1.1
KumaAPI: 21.0.7
Man of Many Planes: 0.2.1+1.21.1
KubeJS: 2101.7.2-build.295
Forgified Fabric Renderer API (v1): 3.4.0+acb05a3919
SuperMartijn642's Config Library: 1.1.8
Open Parties and Claims: 0.25.6
GeckoLib 4: 4.8.2
Player Animator: 2.0.1+1.21.1
Immersive Aircraft: 1.4.0+1.21.1
Sophisticated Core: 1.3.87
Etched: 4.0.0
Xaero's World Map: 1.39.12
Controlling: 19.0.5
Prism: 1.0.11
ModernFix: 5.24.3+mc1.21.1
Create Factory Logistics: 1.4.7
Luminous:Tag: 1.1
Forgified Fabric BlockView API (v2): 1.0.10+9afaaf8c19
YUNG's API: 1.21.1-NeoForge-5.1.6
ReForgedPlay Mod: 0.3
Iris: 1.8.12-snapshot+mc1.21.1-local
Create: Integrated Farming: 1.1.1
Item Obliterator: 2.3.0
Cool Rain: 1.1.0
Bookshelf: 21.1.69
[Let's Do] Vinery: 1.5.1
Storage Delight: 25.06.24-1.21-neoforge
Sophisticated Backpacks: 3.25.12
Create: Numismatics: 1.0.18+neoforge-mc1.21.1
[Let's Do] Beachparty: 2.1.2
Pick Up Notifier: 21.1.1
Balm: 21.0.52
PrickleMC: 21.1.11
Immersive Armors: 1.7.5+1.21.1
CreateBetterFps: 1.1.2
Melody: 1.0.10
Just Enough Resources: 1.6.0.17
Exposure: 1.9.10
Cloth Config v15 API: 15.0.140
Better Clouds: 1.7.17+1.21.1-neoforge
Supplementaries: 1.21-3.4.16
Konkrete: 1.9.9
Staaaaaaaaaaaack: 1.21.1-1.7
Durability Tooltip: 1.1.6
[Let's Do] BloomingNature: 1.1.3
Corpse: 1.21.1-1.1.13
Advancement Plaques: 1.6.8
Create: Connected: 1.1.6-mc1.21.1
Friends&Foes - Flowery Mooblooms: 3.0.1
Better Ping Display: 1.1
Farmer's Delight: 1.2.9
Handcrafted: 4.0.3
Design n' Decor: 2.1.0
SuperMartijn642's Core Lib: 1.1.18+a
Resourcefulconfig: 3.0.11
Bendy lib: 5.1
Highlighter: 1.1.11
Model Gap Fix: 1.21-1.10
Curios API: 9.5.1+1.21.1
Collective: 8.3
Replay Mod: 2.6.18
Searchables: 1.0.2
[Let's Do] Meadow: 1.4.3
Better Third Person: 1.9.0
Resourceful Lib: 3.0.12
Create Liquid Fuel: 2.1.1-1.21.1
[Let's Do] HerbalBrews: 1.1.2
Create Railways Navigator: 1.21.1-beta-0.8.4
Architectury: 13.0.8
conditional mixin: 0.6.4
TRansition: 1.0.3
Dynamic FPS: 3.9.5
Forgified Fabric Rendering Data Attachment (v1): 0.3.48+73761d2e19
Small Ships: 2.0.0-b2.1
Observable: 5.4.4
Chat Impressive Animation: 1.4.0+mc1.21.5
Create Factory Abstractions: 1.4.7
Luminous Nether: 1.3.1
Create Slice & Dice: 4.0.1
Better Advancements: 0.4.3.21
Create: Bells & Whistles: 0.4.7-1.21.1
Rhino: 2101.2.7-build.81
Amendments: 1.21-2.0.8
Rechiseled: 1.1.6+a
Iris Flywheel Compat: 2.0.4
Create: Copycats+: 3.0.2+mc.1.21.1-neoforge
Create cobblestone: 1.4.6+neoforge-1.21.1-113
Crawl: 0.14.9
Just Enough Items: 19.25.0.322
Veggies Delight: 1.9
TRender: 1.0.5
[Let's Do] Furniture: 1.1.1
Selfexpression: Slim: 1.5
Create: Dragons Plus: 1.8.0b
Clumps: 19.0.0.1
Artifacts: 13.0.7
Item Borders: 1.2.5
Rechiseled: Create: 1.0.2+a
Particular: 1.1.6
Scholar: 1.1.7
Resourcify: 1.7.4
Fusion: 1.2.11+a
Sodium: 0.6.13+mc1.21.1
Crate Delight: 25.09.22-1.21-neoforge
More Delight: 25.07.28a-1.21-neoforge
Create: Colored: 1.1.3
Simple Voice Chat API: 2.6.0
Create: Extra Gauges: 2.0.6
Golem Overhaul: 1.0.2
Sophisticated Backpacks Create Integration: 0.1.4
Friends&Foes: 4.0.10
Create:Schematic Checker: 0.21.8-6.0
Selfexpression: 2.22
Emotecraft: 2.4.12
Iron Chests: 1.21-neoforge-16.0.7
EMI: 1.1.22+1.21.1+neoforge
DragonLib: 1.21.1-2.2.24
libIPN: 6.5.1
EnchantmentDescriptions: 21.1.8
Simple Voice Chat: 1.21.1-2.6.3
Moonlight Lib: 1.21-2.24.1
Enderman Overhaul: 2.0.2
TerraBlender: 4.1.0.8
Longer Chat History: 1.7
Forgified Fabric API Base: 0.4.42+d1308ded19
Mouse Tweaks: 2.26.1
Titanium: 4.0.40
Necronomicon: 1.6.0
Jade: 15.10.3+neoforge
No Chat Reports: 1.21.1-v2.9.1
Create: Blocks & Bogies: 1.0.5
CreativeCore: 2.13.13
Platform: 1.2.10.2
Forge Config API Port: 21.1.1
Create Aquatic Ambitions: 1.21.1-2.0.1
Kotlin For Forge: 5.9.0
RottenCreatures: 1.1.2
Iceberg: 1.3.2
Legendary Tooltips: 1.5.5
Xaero's Minimap: 25.2.10
Create: Sound of Steam: 0.6.4+1.21.1
Polymorph: 1.1.0+1.21.1
Leave My Bars Alone: 21.1.2
EntityCulling: 1.8.2
Critters and Companions: 1.21.1-2.3.3
Better Archeology: 1.3.2
Screenshot to Clipboard: 1.0.10
FancyMenu: 3.7.0
KubeJS Create: 2101.3.1-build.8
ImmediatelyFast: 1.6.6+1.21.1
[Let's Do] Wilder Nature: 1.1.4
Concentration: 2.3.0
Creeper Overhaul: 4.0.6
Create: Pattern Schematics: 2.0.9
Ocean's Delight: 1.0.3
AppleSkin: 3.0.7+mc1.21
Ferrite Core: 7.0.2
Lootr: 1.21-1.10.35.91
YetAnotherConfigLib: 3.7.1+1.21.1-neoforge
Functional Storage: 1.21.1-1.5.4
Puzzles Lib: 21.1.38
Just Zoom: 2.1.0
BetterF3: 11.0.3
Immersive Melodies: 0.6.2+1.21.1
Screenshot Viewer: 1.3.4
PacketFixer: 3.3.0
ExpandAbility: 12.0.0
CosmeticArmorReworked: 1.21.1-v1-neoforge
Create: Enchantment Industry: 2.2.2b
create_train_parts: 0.3.0
Create Crafts & Additions: 1.5.3
Server Info
Create:
Mod Version: 6.0.6
Mod Git Commit: 20ad05b5e525166018d21e88c96986f867c7088f
Ponder Version: 1.0.56
NeoForge Version: 21.1.209
Minecraft Version: 1.21.1
System Information:
Operating System: Linux (amd64) version 6.8.0-86-generic
Java Version: 21.0.8, Ubuntu
JVM Flags: 9 total; -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=20 -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:G1HeapRegionSize=8M -Xms8G -Xmx32G
Memory: 10994929184 bytes (10485 MiB) / 27464302592 bytes (26192 MiB) up to 34359738368 bytes (32768 MiB)
Total Memory: 16637145568 bytes (15866 MiB) / 27464302592 bytes (26192 MiB)
CPU: QEMU Virtual CPU version 2.5+ @ 2.00 GHz; 30 cores / 30 threads on 1 socket(s)
Graphics cards: none
Other Mods:
Camping: 2.1.1
YUNG's Better Dungeons: 1.21.1-NeoForge-5.1.4
Man of Many Planes: 0.2.1+1.21.1
KumaAPI: 21.0.7
KubeJS: 2101.7.2-build.295
SuperMartijn642's Config Library: 1.1.8
YUNG's Better Witch Huts: 1.21.1-NeoForge-4.1.1
NetherPortalFix: 21.1.1
Open Parties and Claims: 0.25.6
GeckoLib 4: 4.8.2
recipeessentials mod: 4.0
Player Animator: 2.0.1+1.21.1
YUNG's Better Ocean Monuments: 1.21.1-NeoForge-4.1.2
Immersive Aircraft: 1.4.0+1.21.1
Sophisticated Core: 1.3.87
Etched: 4.0.0
Xaero's World Map: 1.39.12
ModernFix: 5.24.3+mc1.21.1
Create Factory Logistics: 1.4.7
Luminous:Tag: 1.1
YUNG's API: 1.21.1-NeoForge-5.1.6
Create: Integrated Farming: 1.1.1
Item Obliterator: 2.3.0
Bookshelf: 21.1.69
[Let's Do] Vinery: 1.5.1
Storage Delight: 25.06.24-1.21-neoforge
Sophisticated Backpacks: 3.25.12
Create: Numismatics: 1.0.18+neoforge-mc1.21.1
whitelist: 0.1-BETA
[Let's Do] Beachparty: 2.1.2
Balm: 21.0.52
PrickleMC: 21.1.11
Immersive Armors: 1.7.5+1.21.1
mobspawncontrol: 1.0
Exposure: 1.9.10
YUNG's Better Nether Fortresses: 1.21.1-NeoForge-3.1.5
Cloth Config v15 API: 15.0.140
Supplementaries: 1.21-3.4.16
Staaaaaaaaaaaack: 1.21.1-1.7
Konkrete: 1.9.9
Create: Oxidized: 0.1.3
[Let's Do] BloomingNature: 1.1.3
Corpse: 1.21.1-1.1.13
Create: Connected: 1.1.6-mc1.21.1
Friends&Foes - Flowery Mooblooms: 3.0.1
Farmer's Delight: 1.2.9
Handcrafted: 4.0.3
Chunky: 1.4.23
Amplified Nether: 1.2.11
Design n' Decor: 2.1.0
SuperMartijn642's Core Lib: 1.1.18+a
YUNG's Bridges: 1.21.1-NeoForge-5.1.1
Resourcefulconfig: 3.0.11
Bendy lib: 5.1
spark: 1.10.124
Curios API: 9.5.1+1.21.1
HubmcChats: 2025.1.1
Collective: 8.3
[Let's Do] Meadow: 1.4.3
YUNG's Extras: 1.21.1-NeoForge-5.1.1
YUNG's Better Strongholds: 1.21.1-NeoForge-5.1.3
Resourceful Lib: 3.0.12
WorldEdit: 7.3.8+6939-7d32b45
Create Liquid Fuel: 2.1.1-1.21.1
[Let's Do] HerbalBrews: 1.1.2
Create Railways Navigator: 1.21.1-beta-0.8.4
Architectury: 13.0.8
AI-Improvements: 0.5.3
Cupboard mod: 2.9
conditional mixin: 0.6.4
YUNG's Better End Island: 1.21.1-NeoForge-3.1.2
Small Ships: 2.0.0-b2.1
Observable: 5.4.4
Create Factory Abstractions: 1.4.7
YUNG's Better Mineshafts: 1.21.1-NeoForge-5.1.1
Luminous Nether: 1.3.1
Create Slice & Dice: 4.0.1
YUNG's Better Jungle Temples: 1.21.1-NeoForge-3.1.2
Create: Bells & Whistles: 0.4.7-1.21.1
Rhino: 2101.2.7-build.77
Rechiseled: 1.1.6+a
Amendments: 1.21-2.0.8
Create: Copycats+: 3.0.2+mc.1.21.1-neoforge
Create cobblestone: 1.4.6+neoforge-1.21.1-113
Just Enough Items: 19.25.0.322
Crawl: 0.14.9
Veggies Delight: 1.9
TAB: 5.2.1
[Let's Do] Furniture: 1.1.1
Selfexpression: Slim: 1.5
Create: Dragons Plus: 1.8.0b
Clumps: 19.0.0.1
Artifacts: 13.0.7
Rechiseled: Create: 1.0.2+a
YUNG's Better Desert Temples: 1.21.1-NeoForge-4.1.5
Scholar: 1.1.7
Set World Spawn Point: 3.5
Terralith: 2.5.8
Crate Delight: 25.09.22-1.21-neoforge
LuckPerms: 5.4.150
More Delight: 25.07.28a-1.21-neoforge
Create: Colored: 1.1.3
Simple Voice Chat API: 2.6.0
Create: Extra Gauges: 2.0.6
Golem Overhaul: 1.0.2
Sophisticated Backpacks Create Integration: 0.1.4
Friends&Foes: 4.0.10
Create:Schematic Checker: 0.21.8-6.0
Selfexpression: 2.22
Emotecraft: 2.4.12
Iron Chests: 1.21-neoforge-16.0.7
Smoothchunk mod: 4.1
DragonLib: 1.21.1-2.2.24
Simple Voice Chat: 1.21.1-2.6.3
TerraBlender: 4.1.0.8
Moonlight Lib: 1.21-2.24.1
Enderman Overhaul: 2.0.2
Titanium: 4.0.40
Necronomicon: 1.6.0
Jade: 15.10.3+neoforge
Create: Blocks & Bogies: 1.0.5
BlueMap: 5.7
Platform: 1.2.10.2
Forge Config API Port: 21.1.1
Create Aquatic Ambitions: 1.21.1-2.0.1
Kotlin For Forge: 5.9.0
RottenCreatures: 1.1.2
Create: Sound of Steam: 0.6.4+1.21.1
Performant: 17.8
Polymorph: 1.1.0+1.21.1
Nullscape: 1.2.13
Critters and Companions: 1.21.1-2.3.3
Better Archeology: 1.3.2
KubeJS Create: 2101.3.1-build.8
[Let's Do] Wilder Nature: 1.1.4
Ocean's Delight: 1.0.3
Creeper Overhaul: 4.0.6
Create: Pattern Schematics: 2.0.9
Lootr: 1.21-1.10.35.91
Ferrite Core: 7.0.2
YetAnotherConfigLib: 3.7.1+1.21.1-neoforge
Functional Storage: 1.21.1-1.5.4
Immersive Melodies: 0.6.2+1.21.1
PacketFixer: 3.3.0
CosmeticArmorReworked: 1.21.1-v1-neoforge
ExpandAbility: 12.0.0
Create: Enchantment Industry: 2.2.2b
create_train_parts: 0.3.0
Create Crafts & Additions: 1.5.3
Okay so as mentioned there really isn't any specific part of Create being (particularly) slow, you just have a lot going on in general.
2000 μs, while interestingly high, it's far from any TPS drop. You need to reach 50,000 μs to drop from 20 TPS.
@adaliszk At one point the tps dropped to 15
After restarting, we launched 3 drills, the problem went away, apparently the problem is still in the RAM, thank you, you can close it... I'll go further to figure out what the problem could be
Within your entity tick cycle, Create has pretty much zero contribution:

Within block entities, you have quite a lot of Chute and Threshold switch load. Are your farms using chutes, but they are extremely slow in throughput, so they constantly transfer? If so, I think you should fix that.
All your problems stem from the fact that you load 2000 chunks, which in turn brings a ton of unoptimized processing and a lot of mob logic. Neither of which is really something that Create could solve alone, Minecraft itself is not meant to be loading this much off-screen logic.
To be honest, I didn't know I was uploading so many chunks. Where can I look for restrictions with an average online of 30-50 players?
Okay, lets go over some Server Hosting 101:
I can see you added 30 cores to the VM, but in reality it will never use that much. Minecraft only uses about 3-6 threads total, where the bulk of the logic happens on a single thread.
- Thread Tweak that can help with I/O, lighting, worldgen, and async tasks such as logging, networking, limited block updates, as it can increase the worker threads, but only those.
- Lithium can help with a few things like Entity lookups, several Collections and Math operations to worker threads, but that still leaves the core logic on the main thread.
- Dimensional Threads can split the main thread into several threads, but it is not fully compatible with Create and a lot of other mods that do rely on the fact that there is a tick order and shared memory on the same thread.
So, assigning more than 3-6 cores to a Minecraft server generally wasteful. What you really want is high single core performance, so that the main thread could process the load quicker. Optimization mods such as Lithium can help a lot.
With the loaded chunks, that is governed by any chunk loading methods and the simulation distance. Generally, with more than 10 players, you want the simulation distance to be low, like about 4-6. The default 8, each player would load 289 chunks, while with 4, they would load only 81.
However, with such low simulation range, you would need to rely on really targeted chunk loading for machines that players do want to be running. So you want a chunk loading solution that only loads small, selected areas.
Now, for optimizing Create for many players, your best bet is to discourage expensive behaviours:
- Disabling contraption breaking entirely as sadly that mechanic is used with many bad designs that have slow or bad collection methods which leaves items on the ground ticking.
- Bump Vault sizes larger than 20, which usually promotes people to use them even on contraptions as having fewer individual storage blocks helps to have less storage lookups.
- Promote belts and funnels for transfer by either promoting hypertransfer via pulse clocks, or decreasing the extraction timer to 2 ticks which then makes the throughput rate high enough to finish transferring quickly.
- Increase stress capacity of more compact methods such as steam engines or windmill bearings, should promote less ticking for generating power.
Mobs ticking takes 30%, while Create entities (contraptions) only contribute 0.42%:
The main Create-related workload is the block entities, which takes 17% of your TPS budget:
Your problem is that you are reaching your hardware's limits around 6000 entities in 2400 chunks:
I don't see much optimization potential here on the Create side; that 17% contribution (8.5/50ms) seems reasonable with 2400 chunks loaded for 20 people.
However, the optimization here would not address your original assumption that contraptions are the lag source, as your Spark clearly shows that multiple mob-expansion mods add extra load to entities and lookups. Lithium and similar mods may help there by offloading the lookups to the worker threads.
Okay, lets go over some Server Hosting 101:
I can see you added 30 cores to the VM, but in reality it will never use that much. Minecraft only uses about 3-6 threads total, where the bulk of the logic happens on a single thread.
- Thread Tweak that can help with I/O, lighting, worldgen, and async tasks such as logging, networking, limited block updates, as it can increase the worker threads, but only those.
- Lithium can help with a few things like Entity lookups, several Collections and Math operations to worker threads, but that still leaves the core logic on the main thread.
- Dimensional Threads can split the main thread into several threads, but it is not fully compatible with Create and a lot of other mods that do rely on the fact that there is a tick order and shared memory on the same thread.
So, assigning more than 3-6 cores to a Minecraft server generally wasteful. What you really want is high single core performance, so that the main thread could process the load quicker. Optimization mods such as Lithium can help a lot.
With the loaded chunks, that is governed by any chunk loading methods and the simulation distance. Generally, with more than 10 players, you want the simulation distance to be low, like about 4-6. The default 8, each player would load 289 chunks, while with 4, they would load only 81.
However, with such low simulation range, you would need to rely on really targeted chunk loading for machines that players do want to be running. So you want a chunk loading solution that only loads small, selected areas.
Now, for optimizing Create for many players, your best bet is to discourage expensive behaviours:
- Disabling contraption breaking entirely as sadly that mechanic is used with many bad designs that have slow or bad collection methods which leaves items on the ground ticking.
- Bump Vault sizes larger than 20, which usually promotes people to use them even on contraptions as having fewer individual storage blocks helps to have less storage lookups.
- Promote belts and funnels for transfer by either promoting hypertransfer via pulse clocks, or decreasing the extraction timer to 2 ticks which then makes the throughput rate high enough to finish transferring quickly.
- Increase stress capacity of more compact methods such as steam engines or windmill bearings, should promote less ticking for generating power.
unrelated to the issue but do you know of any additional documentation for server hosting 101? ive been running servers for 2 years know and think that i have some stuff left to learn.

