mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 07:32:32 +01:00
fix(channelserver): return error from Save() to prevent misleading success logs
CharacterSaveData.Save() silently returned on failure (nil decompressed data, compression error, DB error) while the caller unconditionally logged "Saved character data successfully". This made diagnosing save failures difficult (ref #163). Save() now returns an error, and all six call sites check it. The success log in saveAllCharacterData only fires when the save actually persisted.
This commit is contained in:
@@ -91,7 +91,10 @@ func handleMsgMhfSavedata(s *Session, p mhfpacket.MHFPacket) {
|
||||
}
|
||||
|
||||
if characterSaveData.Name == s.Name || s.server.erupeConfig.RealClientMode <= cfg.S10 {
|
||||
characterSaveData.Save(s)
|
||||
if err := characterSaveData.Save(s); err != nil {
|
||||
s.logger.Error("Failed to save character data", zap.Error(err))
|
||||
return
|
||||
}
|
||||
s.logger.Info("Wrote recompressed savedata back to DB.")
|
||||
} else {
|
||||
_ = s.rawConn.Close()
|
||||
|
||||
Reference in New Issue
Block a user