Allods Developers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

how to index xdb. Guide to IndexEditor.exe (index.all)

################ RUSSIAN ##################
Это моя первая статья, прошу отнестись с пониманием.

На форуме есть упоминания про IndexEditor.exe (index.all), но нет описания как пользоваться.

Какие проблемы решает данный инструмент?
1. Создание файла index.all, который позволяет серверу работать с коротким сопоставлением "resourseId -> file.xdb"
2. Создание новых ресурсов и указание уникального идентификатора (resourseId)
3. Актуализация resourceId из файла index.all. если вдруг вы хотите пересобрать .xdb файлы
4. Удаление дубликатов и назначение resourceId для отсутствующих ресурсов (null resource)

################ ENGLISH ##################
Introduction
This is my first article, and I kindly ask for your understanding.

The forum contains references to IndexEditor.exe (index.all), but there is no detailed documentation on its usage.

Key Functionality of the Tool:

  1. Generating an index.all file, which enables the server to utilize a concise mapping of resourceId → file.xdb.
  2. Creating new resources and assigning them a unique identifier (resourceId).
  3. Updating resourceId entries from the index.all file when rebuilding .xdb files.
  4. Removing duplicate entries and assigning resourceId to previously unindexed resources (null resource).
################ USE CASE ################
Мой вариант использования:
В процессе работы с сервером заметил, что много xdb resourseId было разбросано, многие были не проиндексированы (null resource).
During server maintenance, I observed that numerous xdb resourceId entries were inconsistent, with many remaining unindexed (null resource).
1. Укажите системную папку в вашей папке с ресурсами для сервера например C:/Server/game/data/System
Specify the system directory within your server’s resource folder (e.g., C:/Server/game/data/System).
1745240420035.png
2. После этого вы можете использовать вкладку инструментов (Tools)
  • Dup-cleaner - удаляет дублирующиеся ресурсы (сервер некорректно обрабатывает дубликаты и автоматически пропускает один из них при запуске)
  • Set Current ID - присваивает .xdb файлам актуальные resourceId из index.all (файлы связаны соотношением "resourceId → file.xdb")
  • Generate IndexRu - создает файл с соответствием "resourceId → file.xdb → имя файла из txt". Вы можете использовать txt-файл с любым необходимым языком локализации. Файл txt обычно лежит рядом с xdb файлом.
  • Index Null Resource - индексирует все .xdb файлы и восстанавливает ресурсы, у которых отсутствует resourceId (как в index.all, так и в самом .xdb файле)
  • Generate Zip - архивирует проект в zip-файл (пока не обнаружил практических сценариев использования этой функции - делитесь вашим опытом в комментариях)
  • Open index.all - открывает файл index.all, но советую всё же его открывать вручную через notepad++ если вы собираетесь в нём что то искать или редактировать
  • Dup-cleaner - removes duplicate resources (the server processes duplicates incorrectly and automatically skips one of them during startup)
  • Set Current ID - assigns current resourceId values from index.all to .xdb files (the files are linked by the "resourceId → file.xdb" relationship)
  • Generate IndexRu - creates a file with "resourceId → file.xdb → filename from txt" mapping. You can use a txt file with any required localization language. The txt file is typically located in the same directory as the xdb file.
  • Index Null Resource - indexes all .xdb files and restores resources missing resourceId (both in index.all and within the .xdb file itself)
  • Generate Zip - archives the project into a zip file (I haven't identified practical use cases for this functionality yet - please share your experiences in the comments)
  • Open index.all - opens the index.all file directly (however, for searching or editing purposes, I recommend manually opening it via Notepad++)

1745241014228.png
3. Сохрани работу (save your work)
Чтобы сохранить актуальный index.all файл не забудь сохранить (CTRL + S) или через интерфейс
To save the updated index.all file, remember to save your work (CTRL + S) or use the interface option.
1745242355156.png
4. Замечания.
Приложение не совсем ui/ux адаптированное, поэтому процесс работы часто не виден, но если вы запустили функцию и вам кажется что ничего не работает взгляните на диспетчер задач (загрузку процесса).
Так же хочу сказать что это может стать некоторым инструментом вашего дебага корректности xdb, он парсит и проверяет корректность их. Так что если что то будет не так он вам сообщит об этом
Notes.
The application is not fully UI/UX optimized, so the work process is often not visible. However, if you have launched a function and it appears that nothing is happening, check the Task Manager (process loading).
1745242086834.png

Пример работы
Example
1745243057125.png


1745243636372.png
 

Attachments

Last edited:
Back
Top