Pack CS Fields
All Crowd Control Simple TCP packs require a pack CS file to be provided to the SDK. This file contains all fields that define the settings that Crowd Control uses to determine the exact required behavior of the Simple TCP system. Fields that have their default values do not need to be defined.
Name | Type | Value | Notes |
---|---|---|---|
Host | string | The hostname to connect to or listen on. | The exact behavior depends on whether Crowd Control is acting as a client or server. |
Port | ushort | The port to connect to or listen on. | The exact behavior depends on whether Crowd Control is acting as a client or server. |
AuthenticationMode | AuthenticationType | The required authentication type. See AuthenticationType enum below. | |
AuthenticationHashMode | DigestAlgorithm | The digest algorithm used by the login process. See DigestAlgorithm enum below. | |
ResponseTimeout | SITimeSpan | The maximum duration to wait for a response. | This may be a System.TimeSpan or a double (seconds). |
Encoding | TextEncoding | The text encoding method used for requests. See TextEncoding enum below. | |
Quirks | Quirks | Available behavior for Crowd Control to accommodate games that are unable to strictly adhere to the standard. | |
AllowedFields | IEnumerable <string>? | If set, omits all fields from requests except for those listed. | |
OmittedFields | IEnumerable <string>? | If set, omits all fields from requests except for those listed. | |
CustomFieldSetter | Func <TRequest, IEnumerable<KeyValuePair<string, object?>>>? | A function that adds additional metadata fields to requests. |
AuthenticationType Enumeration
Name | Type | Default | Notes |
---|---|---|---|
None | ✓ | Login is not required. Effects may immediately begin processing. | |
SimpleTCPSendKey | The game will request a key and Crowd Control will prompt the user and send the login & hash information. | ||
SimpleTCPDemandKey | NOT IMPLEMENTED | ||
SimpleTCPSharedKey | NOT IMPLEMENTED |
DigestAlgorithm Enumeration
Name | Type | Default | Notes |
---|---|---|---|
NONE | ✓ | Hashing is not used. Login information is sent as plaintext. | |
BLAKE2B_160 BLAKE2B_256 BLAKE2B_384 BLAKE2B_512 BLAKE2S_128 BLAKE2S_160 BLAKE2S_224 BLAKE2S_256 DSTU7564_256 DSTU7564_384 DSTU7564_512 GOST3411 GOST3411_2012_256 GOST3411_2012_512 KECCAK_224 KECCAK_256 KECCAK_288 KECCAK_384 KECCAK_512 MD2 MD4 MD5 RIPEMD128 RIPEMD160 RIPEMD256 RIPEMD320 SHA_1 SHA_224 SHA_256 SHA_384 SHA_512 SHA_512_224 SHA_512_256 SHA3_224 SHA3_256 SHA3_384 SHA3_512 SHAKE128 SHAKE256 SM3 TIGER WHIRLPOOL |
TextEncoding Enumeration
Note: This is the ConnectorLib.SimpleTCP.TextEncoding enumeration, not the CrowdControl.Common.TextEncoding enumration.
Name | Type | Default | Notes |
---|---|---|---|
UTF8 | ✓ | All characters are allowed. | |
Ascii | Only plain ascii characters are allowed. | Raw TCP encoding will be ascii. Websocket connections are always UTF-8 encoded, regardless of which characters are allowed. | |
Latin1 | Only ISO 8859-1 characters are allowed. | Raw TCP encoding will be ISO 8859-1. Websocket connections are always UTF-8 encoded, regardless of which characters are allowed. |
Quirks Enumeration
Name | Type | Default | Notes |
---|---|---|---|
None | ✓ | Crowd Control will adhere to all standards and disconnect on errors. | |
IgnoreNonJSON | Ignore all non-JSON messages. | ||
IgnoreBadJSON | Ignore all JSON messages that do not contain Crowd Control data. | ||
DirtyChannel | Combination of IgnoreNonJSON and IgnoreBadJSON. | ||
DelayAfterConnect | NOT IMPLEMENTED |