Table of Contents

Class AccountCreationSystemMappingData

Namespace
FishMMO.Server.Implementation.LoginServer
Assembly
FishMMO.Server.dll

Mapping data for per-IP rate limiting and DoS protection. Tracks IP addresses and their request/failure history. Thread-safe: accessed from both network and worker threads.

public class AccountCreationSystemMappingData : RuntimeDataContainer, IRuntimeDataContainer<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IRuntimeDataContainer>, IAccountCreationSystemMappingData, IRuntimeDataContainer, IServerComponent
Inheritance
AccountCreationSystemMappingData
Implements
Inherited Members

Properties

IpFailureTracker

Tracks number of failed attempts per IP for DoS detection.

public ConcurrentDictionary<string, int> IpFailureTracker { get; }

Property Value

ConcurrentDictionary<string, int>

IpRateLimitTracker

Tracks last account creation attempt per IP address for rate limiting.

public ConcurrentDictionary<string, DateTime> IpRateLimitTracker { get; }

Property Value

ConcurrentDictionary<string, DateTime>

Methods

Clear()

Clears all mapping data entries. Does not null references since ConcurrentDictionaries may be accessed from other threads during runtime.

public override void Clear()

InitializeOnce()

Initializes the mapping data container with empty concurrent dictionaries.

public override ServerComponentInitializationStatus InitializeOnce()

Returns

ServerComponentInitializationStatus

OnDeinitialize()

Deinitializes the mapping data container and releases references.

protected override void OnDeinitialize()