Skip to content
Äkwav edited this page Mar 21, 2019 · 4 revisions

Every Resource has an unique identifier made out of a serverId and resourceId part. The id is usually represented as an array where [0] is the server and [1] is the resourceId. For better visual representation : is used.

ServerId

Is a 64 bit Integer wich is split up into 3 parts.

  • 0-23 Region Id: Unique number assigned on a country/states level
  • 24-47 Location Id: Incrementing number assigned 'per building'
  • 48-63 Local ServerId: Incrementing number assinged inside a building
    Format: [RegionId][LocationId][LocalServerId]
    Example (hex) 000001-000001-0001 (Is the id of the first server)

ResourceId

Is a 64 bit Integer wich is split up into 2 parts:

  • last 7 digits are incrementing per second (10 Million)
  • First digits represent the second count since 1.1.2000 0:0 Format: [Seconds][IncrementingNumber]
    Example (dec) 123456789-0000001 (Was an id on 30. Nov 2003) This is calculated via the c# DateTime.Ticks.

Special Ids

To send commands to a server the ResourceId is simply set to 0 (x:0). Eg. You want to execute registerUser on 000001-000001-0001 then the rId has to be 000001-000001-0001:0 If a client receives a command where the receiver is 0:0 it will assume that the receiver is itself. This is necessary when the client doesn't even have an id yet.

Clone this wiki locally