# Consts Project-wide constants, error codes, environment configuration, regex patterns, and input validation. ## Key Files - **`AcConst.cs`** — Central constants: `ProjectId`/`ProjectSalt` (loaded from appsettings), user/password length limits, TCP/messaging defaults, well-known Guids, `AvailableDomainSuffixes` (300+ TLDs). **Critical:** `GenerateProjectSalt()` must not be modified — it is tied to authentication. - **`AcEnv.cs`** — Environment access: `AppConfiguration` (lazy-loaded from appsettings.json + env vars), `NL` (newline), `MaxLogItemsPerSession`, `GetEnum()` config helper. - **`AcErrorCode.cs`** — Byte enum with 60+ error codes (0=UnknownError ... 255=Unset). Used across the entire API layer. - **`AcRegExpression.cs`** — Compile-time generated regex via `[GeneratedRegex]`: `EmailRegex()` (RFC-compliant), `PhoneNumberRegex()` (E.164 format). - **`AcValidate.cs`** — Input validation methods returning `bool` + `out AcErrorCode`: email, password, username, player name, phone, domain, user token format checks.