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
MySQL
The client is based on the Metin2 Client fur r40250, I just edited it to have the classic format.
Regardless the Server and Client source.
1. The files
We will need to download the following files:
- Visual Studio Community 2019 - In order to compile both the server and the binary, we're going to need this
- MySQL - 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
Note: You actually just need the MSVC v142, C++ CMake, C++ ATL, C++ MFC and C++/CLI for this to work
MySQL:
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:
If you don't want, follow the Mali61's topic and you need to create manually the symlinks for each core on the server.
This is how it should be.
Client:
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
Database:
1) Windows Key + R and write services.msc
2) Search for MySQL57 (or the version you installed) and click on Stop
Since Im portuguese, yeah
3) Go to directory C:\ProgramData\MySQL
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
5) On services.msc, start the MySQL process
Back it again with the portuguese
Server:
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
You can build all at once or separately.
Client:
Same as before, open the dev_solution.sln which is located in C:\dev\1. Svn\Client
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.
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
And there you have it, your server is now online!
5. Debug
You can debug by going to Debug -> Start New Instance
5. Credits
I like to say that I don't know anything about anything and as such, everything here has its credits.
@Mali61 - Client/Server compilable with VS2019 (Server & Client)
@Karbust - 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
dev - mysql_dev
All In One (Internal)
If you have any questions that I can answer, feel free to write a post here.
No comments:
Post a Comment