Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/20/19 in all areas

  1. M2 Download Center Download Here ( Internal ) For years now we've relied on various file leaks which were usually in some Asian language, up until 2010 when someone (nico_w?) released the SG database. Even after this date, we continued to use our old file structures and methods, and old bash scripts to manage our servers. In 2013, some files were released which came from a private server that was based off the SG files. This isn't a thread to talk about who's right or wrong, or who did what work or anything like that... just a place to release files. The reason this release is beneficial is we've never really had a full release of "clean" and "untouched" files. Every time someone releases files they have some stupid backdoor added or are heavily modified from the original. The goal of this release is to get the files to be as close as possible to an official server, and remove things like Xtrap which none of us are using anyway. Official files is what all the pservers are based off of, so having the official structure just makes sense. There are several threads online with files that have been modified by some person but I never see threads with the files the way they originally came. These files in the game folder are from July, 2013 and the game/db cores are fully unmodified and straight from YMIR. That includes lack of modification to make them compatible with certain clients or anything like that. Garbage files like old logs are removed and ready to be generated when you launch your server. These are meant to be a "base server" for the one you want to create. For this reason, there are no customized quests or new items and stuff like that. It's only what SG had in 2013 of July. The database structure is the one from this thread: [Hidden Content] The item_proto and mob_proto is the one from SG in July 2013. I've included a tool in the download as well used to dump the server proto to the client. Since the goal is purity of files, but some files had to be slightly modified for simplicity (and so they run at all) here's the list of things changed/removed: - Removed panama folder. - Removed old log files and pid files, etc.. - Removed Xcrap stuff - Removed all traces to the above (Symlinks) from install.sh. - Removed cshybridcrypt files. - Modified CONFIG file to guide you into configuration for your own usage. - The quests are from the leak of pserver files based off SG. Some of these may or may not work fully. - Timebomb fix applied (Updated: March 13th, 2014) Now in order to use these files: 1. Upload and untar the database and server files. "untouched_34083_db.tar.gz" goes in "/var/db". 2. Navigate with PuTTy to the game folder as a root user and run this command: "chown -R metin2 .". 3. Navigate to the game folder as the metin2 user and run install.sh. This will setup all the permissions and symlinks correctly. 4. Restart your database with the command "service mysql-server restart". The server can be started and stopped by executing "run.sh" and "shutdown.sh" and logs can be cleared by executing "clear.sh". All of these are found in the game folder. Make sure to "/shutdown" ingame before using "shutdown.sh" or you may have data loss. Don't be alarmed when running the shutdown script, it's normal for PuTTy to not give you a prompt for a while (you haven't disconnected from SSH). How to convert the database proto to a perfect client-side proto: 1. Grab the following files from the conf folder in the server files: mob_proto.txt mob_names.txt item_proto.txt item_names.txt 2. Put those files in a folder with the "dump_proto.exe" tool and run it. It will automatically generate the protos for your client assuming you have followed the correct structure of the txt files. Download: [Hidden Content] (Updated: March 13th, 2014) - No password (I don't believe in putting passwords on archives released to the public).
    1 point
  2. M2 Download Center Download Here ( Internal ) Hello, I started to convert some server data files from .txt to .json. I intend to convert them more understandable and modern with these changes, also few bugs and a memory leak in the old system has been fixed. Currently only mob_drop_info.txt file is translated, then all .txt files and proto files will be added. Tutorial for mob_drop_info.txt game part: Add to service.h: #define ENABLE_JSON_GAME_FILES Add to stl.h inline std::wstring StringToWstring(std::string input) { std::wstring output(input.begin(), input.end()); return output; } inline std::string WstringToString(std::wstring input) { std::string output(input.begin(), input.end()); return output; } Search in input_db.cpp "%s/mob_drop_item.txt", LocaleService_GetBasePath().c_str()); Change with: #ifdef ENABLE_JSON_GAME_FILES "%s/mob_drop_item.json", LocaleService_GetBasePath().c_str()); #else "%s/mob_drop_item.txt", LocaleService_GetBasePath().c_str()); #endif Search: if (!ITEM_MANAGER::instance().ReadMonsterDropItemGroup(szMOBDropItemFileName)) Change with: #ifdef ENABLE_JSON_GAME_FILES if (!ITEM_MANAGER::instance().ReadMonsterDropItemGroupNew(szMOBDropItemFileName)) #else if (!ITEM_MANAGER::instance().ReadMonsterDropItemGroup(szMOBDropItemFileName)) #endif Search in item_manager.h: bool ReadDropItemGroup(const char * c_pszFileName); Add it under: #ifdef ENABLE_JSON_GAME_FILES bool ReadMonsterDropItemGroupNew(const char * c_pszFileName); #endif Add in item_manager_read_tables.cpp #ifdef ENABLE_JSON_GAME_FILES #include <fstream> #include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> #endif Search: bool ITEM_MANAGER::ReadMonsterDropItemGroup(const char * c_pszFileName) Change like this: [Hidden Content] Codes: [Hidden Content] Converter: [Hidden Content] Note: You need c ++ 11 and boost property tree module to use this configuration.
    1 point
  3. 1 point
  4. Boost PropertyTree is not a json library (but it uses internally one). It drops tons of functionality from the JSON format. I also think it treats integers as strings. It's 20 times slower than the most used json libraries. Its implementation looks very oldish. It's basically legacy code in its utmost definition. Also, with the new c++ standards, many boost functionality can be replaced quite easily. Boost remains a bloatware for small projects, so I try to avoid it when possible. As for other alternatives, these two are header-only (easily to implement/copy-paste on Extern/include/ or from "pkg install") and much more beautiful: [Hidden Content] [Hidden Content]
    1 point
  5. Haha, i did it long time ago, now you make it public, danke sexy p3nger. ? I think i will post my full version, soon.
    1 point
  6. no, bonuses appear in image 2
    0 points
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.