Jump to content
  1. Compatible platforms

    Compatibility of the Client
    The Metin2 client is ONLY compatible with Windows 2000 or newer operating system. (The newer official versions of the game ships a Chromium Embemmed Framework browser and Steam API, which are not compatible with Windows 2000 or XP. Leaked source code that we have access to DOES NOT include such changes.) The following technologies would need to be changed or upgraded in order to launch the client in a non-Windows envionment!
     
    DirectX 8 and Windows 32bit native APIs
    Metin2 uses a lot of libraries from DirectX. Direct3D8 as a graphic API, which is supressed by Direct3D11 (and optionally Direct3D9, which is the easiest to port). DirectInput, used to grab the mouse and keyboard input (now supressed by Windows native API and XInput2 for joystick). WinSock2 for networking and DirectShow to display the intro videos. And other Windows native API that handles important stuff like window creation, virtual file system (used in EterPacks), file I/O.
    Today, there are modern libraries (like SDL2) that could be used to provide most of the Windows native API functions (as well as DirectInput and WinSock2). Mesa (open source render driver for linux) DOES support Direct3D9 (which the community has proven that the upgrade is possible). While DirectShow could be changed to any video render library (e.g. Bandicam or Bink) or completely removed.
     
    Granny 3D
    Granny 3D is an animation engine that empowers Metin2. This commercial product is also used in AAA games like The Elder Scrolls: Online, Lineage Forever, Battlefield Bad Company 2 and many more.
    RAD sells Granny2 licenses to developers for each platform (e.g. the Windows SDK and the Linux one are two different products), as of today, there is no leaked SDK that works for Linux or other machines. The default version that Metin2 uses is v2.4.0.7, although the community has shown that upgrading to v2.9 or v2.11 is possible.
     
    Miles Sound System
    Miles sound system (MSS for short) is the Audio engine that Metin2 uses, developed by RAD, same as Granny 3D. As of today, both version 7 and version 9 are leaked (along with the sources for Linux). Same as Granny 3D, MSS is used in many popular games like Duke Nukem Forever, Warcraft II, Zoo Tycoon 2 and many more. The default version that Metin2 uses is 6.5c.
     
    SpeedTree
    SpeedTree is a commercial tree rendering engine, developed by Interactive Data Visualization, Inc. It is one of the best in the industry, used in AAA titles like Far Cry 5, Assassin's Creed Unity, Battlefield 4 and many more. As of today, the SDK for version 7 is leaked, and the source codes of version 4 are avaiable. The version that Metin2 uses is v1.6.0.
     
    Compatibility of the Server
    The Metin2 server is compatible with both Windows and FreeBSD operating system. It is NOT compatible with any Linux based operative system. The server should be compatible with any BSD variant, as well as CygWin (the source code contains some reference of CygWin).
     
    BSD Extensions/File Monitoring
    Metin2 uses BSD C extensions and FreeBSD native API for monitoring both sockets and files (by using the native API called kqueue). The source code already contains definitions for the BSD C extensions in Windows platform, as well as a working implementation of socket monitoring (using select), but not for the File Monitor.
    The select implementation does not correctly work under Linux based systems, that would either fix the implementation or add support for epoll.
    NOTE: There could be more issues in the networking (perhaps related to how Linux handles networking interfaces).
  2. Tutorial

    Before starting to work on your server you need to understand some important things:
    The development and administration IS NOT an easy task. You need some fundamental knowledge about computers and servers. You will work with copyrighted/proprietary material. Depending on which country you come from, this may violate applicable laws. You can get help from the community but don't expect too much. Use Google (or other search engines) before you ask something that is actually easy to find out. This wiki will only help you in case you want to understand the development of Metin2. Note: General knowledge of computers and servers and even programming languages is not included in this wiki. But it is required to work on specific things of a Metin2 Server. That's the part we want you to use Google for!
     
    Roles and needed Skills
    Server Administrator
    Expert knowledge of the system you are running the server, which includes, for example, firewall, package managing, services. Advanced knowledge of the database storage server. (Required for diagnose issues on the MySQL part) Server Developer
    Basic knowledge of the FreeBSD operative system and its API. Advanced knowledge of the Client and Server protocol/structure. (which includes Unix sockets) Expert knowledge of the C and C++ programming language. Advanced knowledge of the GNU makefile syntax and the GNU C Compiler or CLang Client Developer
    Basic knowledge of the Windows operative system and its API. Basic knowledge of the Client and Server protocol/structure. (Metin2 already wraps all the socket calls) Expert knowledge of the C and C++ programming language. Advanced knowledge of the Python 2.7 programming language. (required for making internal changes in the python part of the game) Advanced knowledge of the Visual Studio IDE. Tools Developer (e.g. WorldEditor, Autopatcher)
    Basic knowledge of transfer protocols (this may vary on the tool you are developing) Basic knowledge of managing file system and webhosting (this may vary on the tool you are developing) Advanced knowledge of File Formats Basic knowledge of PHP (this may vary on which language you want to use for the scripts) Advanced knowledge of C# (this may vary on which language you want to use for the tool) Quest Developer
    Expert knowledge of LUA 5.0 programming language. All available quest commands and how to use them 2D / Graphic Artist
    xxx 3D / Model Artist
    xxx
×
×
  • 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.