Identifiers

Unique identifiers in Conquer Online are 32-bit unsigned integers split into incremental ranges. Due to the small size of identifiers, some must be recycled and reused, such as monster identifiers. The easiest method of recycling these identifiers is to create reservations per spawn area.

⚠️ WARNING

Incremental IDs, such as account IDs and item IDs, can be too predictable and lead to exposing account information of your PM / first created accounts on the server, or items in the database. Consider using a linear-feedback shift register for a pseudo-random identifier that is deterministic for counting, but obfuscated for general security use.

Table of Contents

Account Server

Account IDs can be any number in the range of a 32-bit unsigned integer.

Game Server

The game server has the following ranges statically defined.

MinMaxNameDescription
00000010000299999SceneScenery NPC
00000010000099999System NPCStatically spawned NPC
01000010000199999Dynamic NPCDynamically spawned NPC
04000010000499999MonsterWorld monster spawn
05000010000599999PetSyndicate monster spawn
07000010000799999Call PetPlayer monster spawn
09000010000989999Magic TrapPlayer spell trap from MsgMapItem
09900010000999999System TrapSystem trap from MsgMapItem
10000003999999999HeroPlayer character

Some identifiers, such as items, are incremental across a 32-bit unsigned integer range.