Home›Java›Mods›VSSW Performance Fix
VSSW Performance Fix
ModsJava

VSSW Performance Fix

Java mod listed for Minecraft 1.20. Downloads from the MC Java Mods app on Android.

by feuerdrache0 · on CurseForge

⬇ Download on CurseForge

The author built this one for Minecraft 1.20.1 on Forge. On other versions it may install and then do nothing.

VSSW Performance Fix

AI was used in the making of this project


A server-side performance addon for Valkyrien Skies Space War 0.6.18. The VSSW projectiles were lagging the game pretty hard, so here is a mod that fixes this!

Proven results

Tested live on a Forge 1.20.1 server while spamming laser cannons from a flying ship:

Metric Before After
VSSW server tick usage 3.56% 0.51%
Projectile tick cost 3.43% negligible
Sync packet overhead 3.52% 0.07%
Improvement — ~7× faster

The projectile system went from dominating the server tick to being smaller than CC:Tweaked's tick handler.

What it fixes

1. Sync packet flood — Every projectile sent a SyncProjectilePacket to every player on the server, every physics tick (up to 4× per game tick). With 10 projectiles and 5 players this produced ~3000 packets/second. Fixed by replacing sendToAllPlayers with distance-gated, throttled sends.

2. Distance-based ticking — Every projectile ticked at full rate regardless of whether any player could see it. Fixed by bucketing projectiles into three tiers based on nearest player distance: full rate within 96 blocks, half rate within 192 blocks, and 1/4 rate beyond that.

3. Global projectile cap — No upper bound on simultaneous projectiles. Rapid-fire turrets can flood the server with thousands of live projectiles. Fixed with a configurable cap (default: 200).

4. Linear energy shield scan — Every projectile scanned all connector block entities in the world every physics tick to find shields. Fixed with a spatial grid cache that returns only nearby candidates.

5. Redundant chunk force-loading — Projectiles triggered disk I/O on already-loaded chunks every tick. Fixed by skipping the ticket if the chunk is already present.

6. Turret rotation spam — Every turret sent a block-entity sync packet every tick even when stationary. Fixed by suppressing setChanged() when rotation hasn't changed.

Configuration

On first launch, config/vssw_perf_fix.properties is created with all defaults. Edit and restart to tune:

 
 
properties
# Tick rate tiers (blocks)
distanceTick.nearThresholdBlocks=96.0
distanceTick.midThresholdBlocks=192.0
distanceTick.farTickInterval=4

# Global cap
cap.maxProjectiles=200

# Sync packets
packets.syncIntervalTicks=3
packets.syncChunkRange=8

Requirements

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more