Table of Contents

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

TConnection

The 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

connection TConnection

Network connection of the client.

encryptedUsername byte[]

Encrypted username bytes.

encryptedEmail byte[]

Encrypted email bytes.

encryptedAge byte[]

Encrypted age bytes.

encryptedSalt byte[]

Encrypted salt bytes.

encryptedVerifier byte[]

Encrypted verifier bytes.

encryptionData ConnectionEncryptionData

Per-connection encryption state for nonce derivation.

ipAddress string

IP address of the client.

seq uint

Explicit 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

ConnectionEncryptionData

IpAddress

IP address of the client for rate limiting and DoS protection.

public readonly string IpAddress

Field Value

string

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

Field Value

uint