This tutorial is going to teach you how to compile, run and configure a server on Windows.
I needed something like this a few days ago and since it doesn't exist, I decided to make it
There is no addition or modification in the source or client (except for small bonuses).
0. Beginning
At the end of the topic there will be two links where you will need to download:
Client + Server + Source
Bitte melden Sie sich an, um dieses Bild zu sehen.
MySQL
Bitte melden Sie sich an, um dieses Bild zu sehen.
The client is based on theBitte melden Sie sich an, um diesen Link zu sehen., I just edited it to have the classic format.
Regardless the Bitte melden Sie sich an, um diesen Link zu sehen. and Bitte melden Sie sich an, um diesen Link zu sehen. source.
1. The files
We will need to download the following files:
Bitte melden Sie sich an, um diesen Link zu sehen. - In order to compile both the server and the binary, we're going to need this
Bitte melden Sie sich an, um diesen Link zu sehen. - Connect and create the database
2. Installing
The installation is easy enough for me to consider that I don't need to spend much time on this, however I hope this two pictures will facilitate (more) on what you need to do:
Visual Studio Community
Bitte melden Sie sich an, um dieses Bild zu sehen.
Note: You actually just need the MSVC v142, C++ CMake, C++ ATL, C++ MFC and C++/CLI for this to work
MySQL:
Bitte melden Sie sich an, um dieses Bild zu sehen.
Warning: In this tutorial we're going to use Mysql Server 5.7.33 X64 but you can (must) upgrade it to 8.0
2.1 Installing Server / Client / Database
Here you need to pay attention because there's a limitation:
You must unzip the file "dev" on C:\
If you don't want, follow the Bitte melden Sie sich an, um diesen Link zu sehen. and you need to create manually the symlinks for each core on the server.
Bitte melden Sie sich an, um dieses Bild zu sehen.
This is how it should be.
Client:
Bitte melden Sie sich an, um dieses Bild zu sehen.
There isn't much to say, in pack/ you already have root and locale_de unpacked but since this is going to be localhost only, you don't need to change nothing on the serverinfo.py
Bonus: I translated the client to English, just because
Database:
1) Windows Key + R and write services.msc
Bitte melden Sie sich an, um dieses Bild zu sehen.
2) Search for MySQL57 (or the version you installed) and click on Stop
Bitte melden Sie sich an, um dieses Bild zu sehen.
Since Im portuguese, yeah
3) Go to directory C:\ProgramData\MySQL
Bitte melden Sie sich an, um dieses Bild zu sehen.
4) In the folder MySQL Server 5.7 (or the version you installed) and in the folder Data, paste the files you previously downloaded and unziped from mysql_dev.rar
Bitte melden Sie sich an, um dieses Bild zu sehen.
5) On services.msc, start the MySQL process
Bitte melden Sie sich an, um dieses Bild zu sehen.
Back it again with the portuguese
Server:
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bitte melden Sie sich an, um dieses Bild zu sehen.
These images are referenced in each core's CONFIG and conf.txt, respectively where the location is on directory C:\dev\2. Server.
Warning: Don't forget to change the MySQL's user password! You need to put the same password you had when installing the MySQL.
3. Compile Server / Client Source
There is nothing introductory since it is something very simple that you will be able to.
Server:
It's quite simple, to build the server source, we just need to open the file dev_server.sln which is located in C:\dev\1. Svn\Server\build
Bitte melden Sie sich an, um dieses Bild zu sehen.
You can build all at once or separately.
Bonus: I linked the files to go to the directory C:\dev\2. Server\share\ so you don't need to c&p multiple times.
Client:
Same as before, open the dev_solution.sln which is located in C:\dev\1. Svn\Client
Bitte melden Sie sich an, um dieses Bild zu sehen.
Since I have a good computer, I enabled the multi-processor compilation option. If your computer is very slow while you are compiling, I suggest you deactivate by going to Properties in all the builds.
Bitte melden Sie sich an, um dieses Bild zu sehen.
4. Starting the Server
On the main directory of the server (C:\dev\2. Server) you'll have 2 bat files:
start.bat* - As the name says, it will start the server
clear.bat - It will clear all the server's logs
* I forgot the make it dynamic so if you don't want to have on the C:\dev, you'll need to change the directory.
Execute start.bat and it will show up first the db.exe, then auth's game.exe and last channel1's game.exe
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bitte melden Sie sich an, um dieses Bild zu sehen.
And there you have it, your server is now online!
5. Debug
You can debug by going to Debug -> Start New Instance
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bonus: I linked everything so you don't have to worry about anything
5. Credits
I like to say that I don't know anything about anything and as such, everything here has its credits.
Bitte melden Sie sich an, um diesen Link zu sehen. - Client/Server compilable with VS2019 (Bitte melden Sie sich an, um diesen Link zu sehen. & Bitte melden Sie sich an, um diesen Link zu sehen.)
Bitte melden Sie sich an, um diesen Link zu sehen. - If it wasn't for him, I couldn't have done this
ThatGuyPT - The base was from his Windows Serverfiles
6. FAQ
Q: Why didn't you use xampp instead of MySQL?
A: At the moment I use MySQL a lot even outside of Metin2, so it makes more sense to me that it be this way.
However, it is exactly the same, especially on localhost.
Q: Can I migrate the source to FreeBSD?
A: Yes, you can! As long as you have cmake configured, you can distribute to FreeBSD and use it there.
Q: What is the id and password to enter the game?
(I put this question because I know there will be someone asking this)
A: You can create an account in the database, but you can use id: admin pw: 123
7. Links
Bitte melden Sie sich an, um diesen Link zu sehen.
Bitte melden Sie sich an, um diesen Link zu sehen.
If you have any questions that I can answer, feel free to write a post here.