V3ct0r 2,117 Report post Posted January 6, 2023 [Tools] Program for editing GM commands This toolkit is intended for editing (renaming) GM commands in GameServer.exe (commands &) and GroupServer.exe (commands @@). A distinctive feature of the program is that it allows you to set new names for GM commands, both shorter and longer than the original names. For example, the &updateall command can be replaced with &upd, and the &move command with &letsmove. Usage The program is a console application and, accordingly, work with it occurs using the command line in the following form: pkodev.tool.editgmcmd <command> [command-specific parameters] First, the path to the executable .exe file of the program is specified, then the command is selected, and then its parameters are set. To be able to work with a specific target GameServer.exe or GroupServer.exe file, a GM command database file in the .json format is used. This file contains: 1) The name of the target .exe file; 2) The timestamp of its assembly (linker timestamp); 3) GM command character (for example, '&' or '@@'); 4) List of strings with GM command names and their addresses in the target .exe file. An example .json file with the GM-commands database can be found here. The toolkit currently supports (7) commands, which will be discussed next. 1. Command 'name' Display the current GM command name in the target .exe file. Parameters: --in "Path to target .exe file" --db "Path to .json file with GM commands database" (optional*) --old "Original GM command name" For example, the &updateall GM command was once renamed to the &updateall1024 GM command, then the command: pkodev.tool.editgmcmd.x64.Release name --in "GameServer.exe" --old "updateall" --db "pkodev.tool.editgmcmd.json" Will return the following result: The GM-command '&updateall' is defined as '&updateall1024'. 2. Command 'rename' Change the name of the GM command in target .exe file. Parameters: --in "Path to target .exe file" --db "Path to .json file with GM commands database" (optional*) --bp "Backup mode" (optional**) --old "Original GM command name" --new "New GM command name" Example: pkodev.tool.editgmcmd.x64.Release rename --in "GameServer.exe" --old "move" --new "letsmove" --db "pkodev.tool.editgmcmd.json" This will change the GM command &move to &letstmove. 3. Command 'reset' Reset all modified GM command names in target .exe file to the original ones. Parameters: --in "Path to target .exe file" --db "Path to .json file with GM commands database" (optional*) --bp "Backup mode" (optional**) Example: pkodev.tool.editgmcmd.x64.Release reset --in "GameServer.exe" --db "pkodev.tool.editgmcmd.json" Attention! As a result, all previously modified GM commands in the target .exe file will be replaced with the old (original) names. 4. Command 'enum' Output a list of all GM commands in target .exe file as a table to the console. Parameters: --in "Path to target .exe file" --db "Path to .json file with GM commands database" (optional*) Example: pkodev.tool.editgmcmd.x64.Release enum --in "GameServer.exe" --db "pkodev.tool.editgmcmd.json" For an approximate output result, see the image in the topic header. 5. Command 'supported' Print the list of supported target .exe files as a table to the console. Parameters: --db "Path to .json file with GM commands database" (optional*) Example: pkodev.tool.editgmcmd.x64.Release supported --db "pkodev.tool.editgmcmd.json" As a result of the command execution, a list of supported .exe files will be displayed in the console, for example: +------+------------------------------------------------+-----------------+------------------+ | # | Executable file name | Version | GM-commands | +------+------------------------------------------------+-----------------+------------------+ | 1.| GameServer.exe 1.36 (GAMESERVER_136) | 1204708785 | 53 | | 2.| GameServer.exe 1.38 (GAMESERVER_138) | 1225867911 | 53 | | 3.| GroupServer.exe 1.38 (GROUPSERVER_138) | 1224838510 | 8 | +------+------------------------------------------------+-----------------+------------------+ 6. Command 'check' Check if target .exe file is supported by the program. Parameters: --in "Path to target .exe file" --db "Path to .json file with GM commands database" (optional*) Example: pkodev.tool.editgmcmd.x64.Release check --in "GameServer.exe" --db "pkodev.tool.editgmcmd.json" Result: GameServer.exe 1.38 (GAMESERVER_138) (Version: 1225867911) is supported! 7. Command 'help' Get help with the program. Parameters: No parameters Example: pkodev.tool.editgmcmd.x64.Release help Result: Usage: pkodev.tool.editgmcmd.x64.Release <command> [parameters] There are supported commands: 1) name --in <.exe file> --old <GM-command> {--db <addresses file>} Get the original name of a given GM-command. 2) rename --in <.exe file> --old <GM-command> --new <GM-command> {--db <addresses file>} {--bp <backup mode [off|name|time]>} Rename a given GM-command. 3) reset --in <.exe file> {--db <addresses file>} {--bp <backup mode [off|name|time]>} Reset all GM-command names to the original ones. 4) enum --in <.exe file> {--db <addresses file>} Print a list of GM-commands as a table. 5) supported {--db <addresses file>} Print a list of supported .exe files as a table. 6) check --in <.exe file> {--db <addresses file>} Check if an .exe file is supported by the tool. Parameters in the curly braces {} are optional. * '--db' parameter This parameter is responsible for the path to the .json file of the GM-commands database, is optional and may be absent. If the '--db' parameter is not specified, then the program automatically searches for this file in the same directory it is in and with the same name as its .exe file, but with the .json extension. For example, if the program's .exe file is located along the path: "D:\tools\pkodev.tool.editgmcmd.x64.Release.exe", then the program will try to load the GM command database from the file: "D:\tools\pkodev .tool.editgmcmd.x64.Release.json". ** '--bp' parameter Some commands make changes to the target .exe file. In order to prevent data corruption, the program can make a backup copy of the target .exe file. This parameter is optional and, if it is not present, the default value is assumed. The '--bp' parameter only accepts the following values: 1) --bp "name" (default value) - the backup file will have the same name as the target .exe file, but with the .backup extension; 2) --bp "time" - the backup file will have the same name as the target .exe file, but with the .backup extension, plus a timestamp at the time the backup was created is added to the beginning of the name; 3) --bp "off" - do not create a backup copy of the target .exe file. Downloads 1. Actual executable files of the program (.exe) and the GM commands database file (.json).; 2. Repository with the source code of the program in C++ (Visual Studio 2022 Community). If you encounter any problem, bug or have any questions, then feel free to write in this thread. 1 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
MrWick 0 Report post Posted July 21, 2023 Good, how can I edit the tp commands, eg /home /ca among others to give them new names and create more commands like those, thanks in advance Quote Share this post Link to post Share on other sites
MrWick 0 Report post Posted July 21, 2023 3 minutes ago, MrWick said: Good, how can I edit the tp commands, eg /home /ca among others to give them new names and create more commands like those, thanks in advance or have some way to talk to you to inform me more Quote Share this post Link to post Share on other sites