-
Posts
327 -
Joined
-
Last visited
-
Days Won
46 -
Feedback
93%
Owsap last won the day on August 1
Owsap had the most liked content!
About Owsap

- Birthday 09/02/1997
Metin2 Dev
- Marketplace
Informations
-
Gender
Male
Development
- Github
- Gitlab
Recent Profile Visitors
28429 profile views
Owsap's Achievements
-
maczkenzie started following Owsap
-
soniccarlos started following Owsap
-
oguz097968 started following Owsap
-
Owsap started following Local Server Windows x64 and Fake Character Manager
-
Download I originally created this system to test performance because I didn't want to open a bunch of clients. That gets old pretty quickly. Figured I'd share it in case anyone else finds it useful. Documentation is included in the archive. Preview .
- 2 replies
-
- 97
-
-
-
-
-
-
-
-
Download Alternative download links → Mega.nz Today I'm sharing a ready-to-run Windows package for local testing and experimentation. This release is intended for testers, and anyone who wants to explore and just have fun. Everything is provided as pre-built binaries. Source code is not included. Main Features Ready-to-run Windows x64 Server & Client Portable MariaDB included No MySQL or MariaDB installation required Automatic deployment and startup Preconfigured client and server No external database connection required Designed to run entirely on localhost Requirements Windows 10 or Windows 11, 64-bit Approximately 2 GB of free disk space At least 4 GB of RAM Microsoft Visual C++ 2015–2022 Redistributable (x64) All archive contents must be extracted before starting The package is intended for local use only. It is not configured for public hosting. Installation Download the archive. Extract the complete archive to any folder Open the server folder Run: deploy.bat The deployment script will automatically: Prepare the db, auth, and game working folders. Start the portable MariaDB server. Start the DB Cache Server. Start the Auth Server Start the Game Server Wait for every component before continuing. When the script reports that the local server is online, launch the client. Administrator privileges are normally not required. Game Account Database Credentials MariaDB is bound to 127.0.0.1, so it is only accessible from the local computer. Archive Password Support Disclaimer This is an unsupported community release provided as-is. I am only sharing the package and will not provide help with installation, configuration, troubleshooting, errors, or compatibility issues. You are expected to manage and resolve any problems independently. Have fun.
- 1 reply
-
- 129
-
-
-
-
-
-
-
-
-
daniofordonn started following Owsap
-
Download Alternative download links → MEGA Purge Area This tool helps you purge areas in dungeon maps. d.purge_area is used to remove monsters and stones from a specific area inside a dungeon map. Finding the correct coordinates manually can be tedious, so this tool makes it faster to select, preview, and copy the purge area values. Preview Features Changelog .
-
- 17
-
-
-
-
This topic has been updated with the reverse engineered code of the syserr handling. CrashRpt support remains included and improved.
-
official Official Unpacked Updates Metin2 - No Spam
Owsap replied to pollux's topic in Guides & HowTo
Proto Dump v25.2.17 Alternative download links → MEGA Changes item_proto 12 columns of values New costumes (body, hair) New pet New mount New select box mob_proto New pet New mount Root Dump v25.2.17 Alternative download links → MEGA- 147 replies
-
- 269
-
-
-
-
-
-
-
-
Version 1.1.1 Add additional verbose logging for proto loading and compression. Add CLI args for paths, verbosity, silent mode, help and version. Refactor integer proto type with scoped enum class. Refactor raw key arrays with ProtoKey std::array type. Remove unused TEA encode and encrypt functions. The tool now supports flexible CLI with verbosity, silent mode, and custom paths. Check the docs to view the complete command line usage. Version 1.2.0 Add mob_proto reference overwrite support via TSV (--overwrite-mob-proto). The tool now supports overwriting specific fields at dump time using a tab-separated reference file (.txt). This is useful for: Restoring values from another proto version. Applying batch fixes (gold, skills, folder, etc.) Merging data from spreadsheets or Excel exports. These are the available fields: Folder MinGold, MaxGold ResurrectionVnum PolymorphItem Skill levels and vnums Special points (berserk, stoneskin, etc.) HitRange Only fields present in the reference file are applied. All other values remain unchanged. Check the docs to understand how it workds. Version 1.2.1 Correct ApplyTypes & ItemTable structure, ITEM_VALUES_MAX_NUM = 12. Version 1.4.0 Added proto version–aware structs and enums Added LZO compression support The tool can now unpack LZO-compressed protos. Older protos can be unpacked by selecting the correct proto schema version. All proto versions from 2014 to the present are supported, as long as the matching schema version is used. Schema versions are selected at compile time. I didn't bother adding a CLI option for switching versions. If you need a different schema, just change the version macros in the source and rebuild. The tool is open source, so feel free to tweak it as needed, check the docs if you're unsure where to make the change.
- 9 replies
-
- 23
-
-
-
-
-
official Official Unpacked Updates Metin2 - No Spam
Owsap replied to pollux's topic in Guides & HowTo
Root Meta 25.2.15- 147 replies
-
- 221
-
-
-
-
-
-
-
Proto Unpacker Alternative download links → GitHub Hi everyone, I'm releasing Proto Unpacker, a fully open-source tool that can load, decrypt, decompress, and export the data stored in the binary item_proto and mob_proto files, especially from original client binaries. I originally made this tool a long time ago, but decided to improve it and release it publicly so everyone can use it freely. Features Load and decode item_proto and mob_proto binary files. Uses Snappy and LZO decompression codec. Automatically decrypts encrypted protos using TEA keys from a JSON file. Reconstructs item and mob proto structures and exports: item_names.txt item_proto.txt mob_names.txt mob_proto.txt Optional mob_proto overwrite system using a reference TSV (tab-separated values) file. Flexible CLI with verbosity, silent mode, and custom paths. Protocol version–aware structs and enums. How to Use 1. Place the following files next to the executable: item_proto mob_proto tea-keys.json 2. Add TEA keys (if required) into tea-keys.json: 3. Run m2-proto-unpacker.exe 4. The following output files will be created in the same directory: item_proto.txt item_names.txt mob_proto.txt mob_names.txt Build Instructions The tool currently only works on Windows. Requirements C++20 Compiler MSVC (Visual Studio) Have fun with it, now you don't need to wait for anyone to share the protos anymore. Merry Christmas!
- 9 replies
-
- 295
-
-
-
-
-
-
-
-
-
official Official Unpacked Updates Metin2 - No Spam
Owsap replied to pollux's topic in Guides & HowTo
GF Protos 25.2.12 Alternative download links → MEGA Item mask types and subtypes aren’t included. Changes item_proto Added new materials and dungeon items. Added new "Moonshine" weapons and boots. Added new spirit stones. METIN_ELEMENTAL Added new costumes (mount, hair, body, weapon). Added new pets. Added new item use type, "Black Diamond Drill" (opens up to 3 sockets in boots) USE_ADD_FOOTS_SOCKET mob_proto Added monsters, metin stones, npcs related to the Tyranny of Aamon. Added new pets. From now on, you can unpack the official protos yourself.- 147 replies
-
- 184
-
-
-
-
-
-
-
Download v1.4.0 Alternative download links →MEGA SIG Editor "Special Item Group Editor" Now with Mob Drop support! A user-friendly tool for editing special_item_group.txt and mob_drop_item.txt with clarity, speed, and zero manual file editing. If you've ever had to adjust special groups, you know how tedious the raw file can be, repeated scrolling, manual indexing, digging through nested structures… it's not fun. Existing tools felt outdated or incomplete, so I decided to build a fresh, streamlined editor that makes the entire workflow simple and intuitive. Preview Features Automatic Group Parsing Loads all groups directly from special_item_group.txt, including parent/child relationships. Drag-and-Drop Editing Reorder rows freely, index numbers update automatically. Full Group Management Rename, delete, duplicate, and create groups with clean dialogs. Easy Attribute Editing Edit any value directly from the table. Supports inline editing, adding/removing rows, and full undo/redo history. Smart Nested Display special groups automatically show their attr children nested beneath them. Group Search Instantly filter groups by name, type, or Vnum. Icons Integration Item icons load automatically from your icon/ folder. Includes: show/hide option, small/big icon sizes, table icon column toggle. Theme Support Switch between available classic themes. Undo / Redo System Full history system, Ctrl+Z / Ctrl+Y supported everywhere. Localization Support Supports multiple languages with dynamic switching. Automatically detects system language. Changelog .plug&play
-
- 46
-
-
-
-
-
-
-
ExecuteQuestScript Core Crash
Owsap replied to jaheedmaster's topic in Community Support - Questions & Answers
-
Hello, it's been a while since I shared something. I saw someone asking for support about this today, so here's the fix. This is a long-standing pitfall (even in some official quests). If a `when enter` or `when leave` handler exists but is empty, the server crashes on state change (`set_state()`), because the game tries to execute zero-length script code. What you'll see in the backtrace Expression: vector subscript out of range Backtrace points to `AStateScriptType::GetCode()` with `GetSize() == 0.` When `set_state()` runs the `when enter`/`when leave` blocks and one of them is empty, the game tries to index code at position 0 (`GetCode()[0]`), causing an out-of-bounds crash. Reproduction (minimal) Quests known to contain this issue Found via regex scan (see below): subquest_16.quest subquest_30.quest subquest_46.quest main_quest_flame_lv99.quest main_quest_flame_lv100.quest main_quest_flame_lv101.quest main_quest_flame_lv102.quest main_quest_flame_lv103.quest main_quest_flame_lv104.quest main_quest_flame_lv105.quest Solution Skip execution when the state script size is zero. This works because empty handlers have `GetSize() == 0`. Early returning makes them a safe no-operation instead of indexing into an empty buffer. Recommendation In general, avoid leaving `when enter` / `when leave` empty. If you must keep the block, add a harmless no-operation line (e.g., `local _ = 0`).
-
- 45
-
-
-
-
-
-
-
-
No, it's free to use and now open source. Updated to Version 4.0 (Open Source) Updated Proto V25.0.5.0 Improved import performance by 90% Added Romanian language support. Reorganized project structure. With open-source code, you can now add your own items. Updated to Version 4.1 Fixed character encoding and unset language due to null session. Download added to the main topic.
- 11 replies
-
- 14
-
-
-
-
-
Draw circle on ground
Owsap replied to Metin2 Dev's topic in Community Support - Questions & Answers
Example -
Draw circle on ground
Owsap replied to Metin2 Dev's topic in Community Support - Questions & Answers
//STATEMANAGER.SaveRenderState(D3DRS_ZENABLE, FALSE); // This would make the circle render on top of everything. STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, FALSE); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, FALSE); static CScreen s_kScreen; s_kScreen.SetDiffuseColor(0.0f, 1.0f, 1.0f); s_kScreen.RenderCircle2d(0, 0, 0, 300, 50); //STATEMANAGER.RestoreRenderState(D3DRS_ZENABLE); STATEMANAGER.SetRenderState(D3DRS_FOGENABLE, TRUE); STATEMANAGER.SetRenderState(D3DRS_LIGHTING, TRUE);
