Skip to documentation
Documentation

CLIENT CUSTOMIZATION

Add a custom item

Add an item consistently on server and client, then test its appearance, equipment rules, and saved state.

3 minute read·Guide

Choose one supported item

Start with a normal weapon or armor similar to an existing item. New wings, pets, effects, or behavior can require programming; copying a row does not implement them.

  • Back up Data\Items\ItemList.xml and the client tables. Use a private test server.
  • Have the model, its original textures, and a BMD editor compatible with this release.
  • Choose a free category/index pair and check both server and client tables for conflicts.

1. Add the server definition

  1. In Data\Items\ItemList.xml, find the item category and duplicate an item of the same type inside that section.
  2. Give it a free Index and Name. Set damage or defense, requirements, class permissions, inventory dimensions, and durability using the existing schema.
  3. Record the category/index pair. The combined ID is category × 512 + index: category 1, index 15 is ID 527. Keep this identity consistent wherever referenced.
  4. Save and start the test GameServer. Fix XML or duplicate-entry errors before adding the item to a shop or drop list.

2. Add the client tables

  1. Open the active language’s Item.bmd with the matching editor. Season 6 commonly uses Data\Local\Eng, Por, or Spn; edit the folder the client actually loads.
  2. Add the same category/index and match dimensions, requirements, and class restrictions. If the editor exposes Sub-group, use the integer part of (category × 512 + index) ÷ 256.
  3. Add the matching ItemToolTip.bmd entry. Reuse suitable text IDs or create text in ItemToolTipText.bmd and reference its IDs; do not overwrite unrelated strings.
  4. Save with the correct release preset and text encoding. Keep an editable source copy.

3. Install the model and test

In the traditional Season 6 layout, models and textures belong in Data\Item. Preserve the texture filenames referenced by the model.

  1. Follow the item type’s naming convention. Sword category 0 index 100 uses Sword101.bmd: the model number is the item index plus one. Use a working neighboring item as the reference for other types.
  2. Restart the client and obtain one test item through the release’s compatible item editor or an isolated test shop. Do not enable a global drop yet.
  3. Inspect inventory, equipped appearance, ground display, and tooltip. Reconnect and confirm its identity and options persist.
  4. Invisible model: check category/index, model filename, and folder. Missing textures: check original texture names and assets. Wrong tooltip: check IDs and the active language’s tables.

Release checklist

  • The category/index is unique and client/server restrictions agree.
  • Every distributed language includes the new name and tooltip.
  • The model and textures work on a clean client copy.
  • Publish matching server/client changes together and retain both rollback copies.

Continue

Next: Translate client text.

Reference: IGCN — Custom items. These instructions use the Season 6 file layout; keep configuration files and tools from the same release.