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
Report Doc