diff options
| author | historia <[not public]> | 2026-09-18 20:03:13 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-18 20:03:13 -0400 |
| commit | 79764732406d6484f67d3dec045483dcb5d08c28 (patch) | |
| tree | 7a64e8581a540b97ed554f5723e2d587424ab1c6 /internal/game/core_login_account.go | |
| parent | f1e461ab6aec6b9bf056bbe2daa88a251e0f21da (diff) | |
| download | thehouseoficarus-79764732406d6484f67d3dec045483dcb5d08c28.tar.gz | |
feat: better card ascii art
Diffstat (limited to 'internal/game/core_login_account.go')
| -rw-r--r-- | internal/game/core_login_account.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/internal/game/core_login_account.go b/internal/game/core_login_account.go index e9fa67f..3b35b15 100644 --- a/internal/game/core_login_account.go +++ b/internal/game/core_login_account.go @@ -158,7 +158,10 @@ func (g *Game) handlePasswordOffOwner(sess *net.Session, input string) { return } throttle := g.ensureLoginThrottle() - key := loginThrottleKey(name, sess.RemoteAddr()) + // Key on the host, not RemoteAddr: the latter carries the ephemeral + // source port, so a reconnect would land on a fresh key and reset the + // escalation. RemoteHost strips the port (see net.Session.RemoteHost). + key := loginThrottleKey(name, sess.RemoteHost()) auth := passwordAuth{} acc, err := g.AccountStore.LoadAccount(name) switch { |
