CRITICAL-1/2: Remove duplicate online=1 writes from doPlayerJoin. The synchronous onPlayerLoggedInKickCheck already sets online=1. The background thread writes raced with logout's online=0, permanently locking players as "online" after crash-disconnect during join. HIGH-1: Startup SQL uses PreparedStatement for server_id (was string concat). HIGH-2: update() method now uses try-with-resources for PreparedStatement. HIGH-3: NPE guard in RS2 data file logging when getRS2DataFile returns null. Vyrriox |
||
|---|---|---|
| .. | ||
| fubuki/playersync | ||