perf(channelserver): move UserBinary and minidata to memory-only

UserBinary type1-5 and EnhancedMinidata are transient session state
resent by the client on every login. Persisting them to the DB on
every set was unnecessary I/O. Both are now served exclusively from
server-scoped in-memory maps (userBinaryParts, minidataParts).

Includes a schema migration to drop the now-unused type2/type3
columns from user_binary and minidata column from characters.

Ref #158
This commit is contained in:
Houmgaor
2026-02-19 00:05:20 +01:00
parent b2b1c426a5
commit 99e544e0cf
6 changed files with 38 additions and 46 deletions

View File

@@ -584,6 +584,7 @@ func createTestServerWithDB(t *testing.T, db *sqlx.DB) *Server {
sessions: make(map[net.Conn]*Session),
stages: make(map[string]*Stage),
userBinaryParts: make(map[userBinaryPartID][]byte),
minidataParts: make(map[uint32][]byte),
semaphore: make(map[string]*Semaphore),
erupeConfig: _config.ErupeConfig,
isShuttingDown: false,