Search the Community
Showing results for tags 'Program'.
Found 4 results
-
Tool for compressing .map files When working with the YAMMI map editor, there may be a problem that the output .map file will be very large. For example, if you open the map darkblue.map (Deep Blue) in YAMMI and save it to disk, then the size of the map will be about 240 MB, instead of the original 46 MB! This is due to the fact that most of the darkblue map is occupied by the sea, i.e. essentially the same cells that do not differ from each other, and such cells do not need to be written to the .map file - the game client will automatically replace them with water when rendering, but YAMMI does not use this optimization and still writes "empty" cells to the output .map file. This tool solves the problem described above and allows you to significantly reduce the size of .map files on disk after they have been edited in YAMMI. To do this, the program looks for "empty" cells in the .map file and removes them from the file. Download 1) The tool (pkodev.tool.mapcompressor.exe); 2) Source code (C++). The tool is a console program, so the paths to the source and output .map files are passed through the startup parameters: > pkodev.tool.mapcompressor darkblue.map darkblue_c.map darkblue.map is the uncompressed .map file that needs to be reduced; darkblue_c.map is a compressed .map file after being processed by the program. The output of the program will be something like this: PKOdev.NET .map file compressor program Version: v1.0.0 (03/01/2022) Author: V3ct0r Input .map file: darkblue.map Output .map file: darkblue_c.map Input .map file information: * Width: 4096 * Height: 4096 * Section width: 8 * Section height: 8 * Sections number: 262144 Please wait . . . Done! * Sections compressed: 222007 * Percentage: 84.69% * Bytes freed: 213126720 As you can see from the output, the size of the .map file has been reduced by about 203 MB! Attention! At the moment, the program has not yet been properly tested, so after compression, certain errors may occur on the maps. Keep this in mind when working and keep backup copies of the original .map files.
-
[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.
-
Game.exe Info With this program you can view and edit the information in the game client executable file (Game.exe), which is necessary to launch it and connect to the server: 1) Startup parameter ("startgame"); 2) Server port; 3) Game version that is sent in the login packet when connecting to the server; 4) ID of the game executable file in the PKOdev.NET mod loader system and build timestamp from the COFF header (read-only). Only Game.exe version 1.3x is supported. You can also view the build time and MD5 hash of any executable .exe file. Download
-
PKOdev.NET Database password (.cfg) To establish a connection and work with the MSSQL server, AccountServer, GroupServer and GameServer load the server address and database user data from the corresponding configuration files (.cfg). In this case, the user's password must be encrypted in a certain way using DES and Base64 algorithms. For example, GameServer.cfg: [DB] db_ip = 127.0.0.1 db_usr = PKODev_User db_pass = SUOh8nJKCe387P/eUVMf+A== This program is developed to encrypt and decrypt database user passwords for use in .cfg files of the game server. How to use: 1) Start the program; 2) On the "Encrypt" tab, in the "Password" field, enter the desired password for encryption*. You will see encrypted password in the "Encrypted password for .cfg" field; 3) On the "Decrypt" tab, in the "Encrypted password for .cfg" field, enter encrypted password. You will see decrypted password in the "Password" field. * Note: The maximum password length is 16 characters. This limitation is caused by the size of the 32-byte buffer for reading the encrypted password from the configuration files in the server executables. Download the program (150 KB)