Files
SteamWar/FightSystem
YoyoNow 0ef702da9e Hide hulls from players by default in HullHider
Hull kept a set of affected players that was only filled by a join
listener active in the Schem states, so spectators joining earlier were
never hidden from the hull. The set was also a plain HashSet read on
netty threads, where a racing lookup meant "not hidden".

Invert it into a concurrent set of viewers (referees, own team, boarded
players); everyone else is hidden by default.

- Hull: viewer UUID set with addViewer/removeViewer/forgetViewer, a
  null player counts as hidden
- Hull: entities are hidden/shown when they enter/leave the hull for all
  non-viewer online players; uncovered blocks go to non-viewers
- HullHider: join/quit handled in a listener active in every state; quit
  clears the viewer entry
- HullHider: TeamDeathEvent re-hides the enemy hull and resends its chunks
- FightPlayer: stop the enter countdown before firing TeamDeathEvent so
  listeners see canEntern() == false
2026-10-27 09:23:31 +01:00
..
2026-08-29 12:52:09 +02:00
2026-05-16 23:08:09 +02:00

FightSystem

Server setup

  1. Install a WorldEdit plugin and the FightSystem plugin on the server
  2. Start the server once (will instantly shutdown due to missing FightSystem configuration)
  3. Configure FightSystem by modifying plugins/FightSystem/config.yml
  4. Create a backup folder inside your world folder and copy your region folder and level.dat into it
  5. Create a config.yml in the world folder and configure the file as described at the end of plugins/FightSystem/config.yml
  6. Start and join the server (as op), create a basic kit, save it with /ak [kitname]
  7. Configure the kit as default kit
  8. Restart the server and have fun!

If you don't want FightSystem taking control over spawning and the whole world, set Arena.Leaveable = true. To start a server in the testarena mode start the server with the flag -DfightID=-1 prior to -jar.

Compiling

Building SteamWar.de software requires certain libraries, which cannot be provided over traditional ways (like maven) due to copyright issues with compiled Spigot packages. The following libraries are required to be in the lib directory exactly named like in the list: