aboutsummaryrefslogtreecommitdiff
path: root/internal/game/core_login_account.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-18 20:03:13 -0400
committerhistoria <[not public]>2026-09-18 20:03:13 -0400
commit79764732406d6484f67d3dec045483dcb5d08c28 (patch)
tree7a64e8581a540b97ed554f5723e2d587424ab1c6 /internal/game/core_login_account.go
parentf1e461ab6aec6b9bf056bbe2daa88a251e0f21da (diff)
downloadthehouseoficarus-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.go5
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 {