-
Notifications
You must be signed in to change notification settings - Fork 61
Description
Introduce a soft identity tracking system to mvdsv that records nickname changes per session, adds cooldown logic, and provides admins with better visibility of player aliases — without forcing fixed nicknames or authentication.
The goal is to reduce “Unnamed” behavior and nickname abuse while preserving QuakeWorld’s flexibility and culture.
Problem
Nickname changing is often used to:
Hide player identity
Confuse opponents and spectators
Evade admin monitoring
Abuse combat situations (nick swap after key frags)
Current mvdsv behavior allows unlimited nickname changes with no context or traceability, making moderation difficult and unreliable.
Hard solutions (forced authentication or fixed nicknames) are often rejected by the community and reduce casual player retention.
Proposed Solution
Implement a Soft Nick Tracking System that:
Logs nickname changes per connection/session
Applies non-punitive cooldowns
Exposes alias information only to admins
Adds optional demo (MVD) metadata support
This system assists admins instead of enforcing strict identity control.
Key Features
- Session Identity (Internal Only)
On client connect, generate a temporary Session ID using a combination of:
IP + port
Client GUID (if available)
Initial userinfo hash
This ID is:
Invisible to players
Reset on disconnect
Used only for correlation/logging
- Nickname History Tracking
Maintain an ordered nickname history per session:
Jonas (join)
James (03:12)
Mike (03:17)
Each change is timestamped and stored internally.
- Controlled Nick Change Logic
Nick changes are allowed, but regulated:
First change: allowed
Second change: allowed with warning + cooldown
Further attempts:
Player can revert to a previous nickname
Or wait until cooldown expires
Example server message:
“Nick change detected. To avoid confusion, please wait 5 minutes or revert to a previous nickname.”
Cooldown duration should be configurable.
- Admin Alias Visibility
Introduce admin-only commands:
/whois
Output:
Current nick: James
Session aliases: Jonas → James
Connected time: 14m
This allows admins to quickly identify nickname abuse patterns.
- Soft Suspicion Flag (Optional)
Track nickname behavior heuristics:
Frequency of nick changes
Nick changes during combat
Nick changes shortly after frags
Generate a soft suspicion score:
NickBehaviorScore: 3/10
No automatic penalties — score is for admin awareness only.
- MVD / Demo Integration (Optional)
Embed nickname history into MVD demos:
Header metadata:
NickHistory: Jonas | James
Or timeline events:
nick_change Jonas -> James @03:12
This improves demo review, casting, and post-match analysis.
- Optional Public Transparency (Configurable)
Server cvar:
sv_nicktrack_public 0/1
If enabled, scoreboard may display:
James (aka Jonas)
Disabled by default.
Configuration (Suggested CVARs)
sv_nicktrack_enable 1
sv_nicktrack_cooldown 300
sv_nicktrack_max_changes 2
sv_nicktrack_public 0
sv_nicktrack_log 1
Benefits
Reduces Unnamed behavior without bans or forced auth
Preserves QuakeWorld’s open nickname culture
Improves admin moderation accuracy
Enhances demo clarity
Minimal impact on casual players
Non-Goals
No permanent identity enforcement
No mandatory authentication
No automatic punishments
No public shaming or exposure by default
Compatibility
Backward compatible
Can be disabled entirely via cvar
Designed to coexist with Authenticate and existing admin tools
Conclusion
This proposal provides a balanced, soft-control solution to a long-standing QuakeWorld issue.
It improves transparency and moderation without compromising player freedom or server accessibility.