Struct AccountCreationRequest<TConnection>
- Namespace
- FishMMO.Server.Core.LoginServer
- Assembly
- FishMMO.Server.dll
Immutable request data for async account creation processing. Contains ENCRYPTED credentials to avoid blocking network thread with decryption. Generic over connection type to maintain engine independence.
public readonly struct AccountCreationRequest<TConnection>
Type Parameters
TConnectionThe transport's connection representation.
- Inherited Members
Constructors
AccountCreationRequest(TConnection, byte[], byte[], byte[], byte[], byte[], ConnectionEncryptionData, string, uint)
Initializes a new account creation request with encrypted credentials.
public AccountCreationRequest(TConnection connection, byte[] encryptedUsername, byte[] encryptedEmail, byte[] encryptedAge, byte[] encryptedSalt, byte[] encryptedVerifier, ConnectionEncryptionData encryptionData, string ipAddress, uint seq)
Parameters
connectionTConnectionNetwork connection of the client.
encryptedUsernamebyte[]Encrypted username bytes.
encryptedEmailbyte[]Encrypted email bytes.
encryptedAgebyte[]Encrypted age bytes.
encryptedSaltbyte[]Encrypted salt bytes.
encryptedVerifierbyte[]Encrypted verifier bytes.
encryptionDataConnectionEncryptionDataPer-connection encryption state for nonce derivation.
ipAddressstringIP address of the client.
sequintExplicit sequence number.
Fields
Connection
Network connection of the client requesting account creation.
public readonly TConnection Connection
Field Value
- TConnection
EncryptedAge
Encrypted age data as UTF-8 string bytes (AES encrypted).
public readonly byte[] EncryptedAge
Field Value
- byte[]
EncryptedEmail
Encrypted email data (AES encrypted).
public readonly byte[] EncryptedEmail
Field Value
- byte[]
EncryptedSalt
Encrypted SRP salt data (AES encrypted).
public readonly byte[] EncryptedSalt
Field Value
- byte[]
EncryptedUsername
Encrypted username data (AES encrypted).
public readonly byte[] EncryptedUsername
Field Value
- byte[]
EncryptedVerifier
Encrypted SRP verifier data (AES encrypted).
public readonly byte[] EncryptedVerifier
Field Value
- byte[]
EncryptionData
Per-connection encryption state holding the symmetric key, session prefix, and counters for deriving unique GCM nonces on the worker thread.
public readonly ConnectionEncryptionData EncryptionData
Field Value
IpAddress
IP address of the client for rate limiting and DoS protection.
public readonly string IpAddress
Field Value
Seq
Explicit client-sent sequence number for this create-account message. This represents the last sequence used when encrypting multi-field payloads (e.g., username, email, age, salt, verifier) and is used to derive nonces for each field.
public readonly uint Seq