diff --git a/README.md b/README.md
index 33966c1..842292c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
-# Server Repository
+# M2Dev Server
This repository contains the core server files and configurations. It includes fixes for database performance, quest logic, and crucial setup scripts.
+**For installation and configuration, see [instructions](#installationconfiguration) below.**
+
---
## 📋 Changelog
@@ -35,3 +37,765 @@ This repository contains the core server files and configurations. It includes f
* Added all translations strings for all languages (some translations may be incomplete, look for English-translated strings in translate_XX.lua/locale_string_XX.lua)
* **Dead/Wounded Soldier NPCs added:** Added Dead/Wounded Soldier NPCs in Fireland and Snow Mountain as well as the Wounded Soldier NPC in Nemere's Watchtower (stage 6)
* **Dungeon Entry Men updated:** Updated the Dungeon Entry Men's rotations and added correctly rotated Barricade NPCs around them, outside Nemere's Watchtower and Purgatory dungeon entrances
+
+
+
+
+---
+
+
+
+
+# Installation/Configuration
+If everything is done right in the setup and build of the [Server Source](https://github.com/d1str4ught/m2dev-server-src), this process should be quick and easy! If you haven't yet setup your Server Source, **now is the chance to do so as it is a required step to continue!**
+
+Below you will find a comprehensive guide on how to configure all the necessary components from scratch.
+
+This guide is made using a **Windows** environment as the main environment and showcases both **Windows** and **FreeBSD** (virtual machine) implementation. If you are not using Windows, please feel free to **adapt these instructions for your operating system**.
+
+This guide also uses the latest versions for all software demonstrated as of its creation date at February 4, 2026.
+
+© All copyrights reserved to the owners/developers of any third party software demonstrated in this guide other than this project/group of projects.
+
+
+
+### 📋 Order of projects configuration
+If one or more of the previous items is not yet configured please come back to this section after you complete their configuration steps.
+
+> - ✅ [M2Dev Server Source](https://github.com/d1str4ught/m2dev-server-src)
+> - ▶️ [M2Dev Server](https://github.com/d1str4ught/m2dev-server) [**YOU ARE HERE**]
+> - ⏳ [M2Dev Client Source](https://github.com/d1str4ught/m2dev-client-src)
+> - ⏳ [M2Dev Client](https://github.com/d1str4ught/m2dev-client) [**ALSO CONTAINS ADDITIONAL INFORMATION FOR POST-INSTALLATION STEPS**]
+
+
+
+### 🔀 Available options
+The source and the server project can be ran in either a **FreeBSD** or a **Windows** environment. Other Linux flavors are not fully supported and may not be fully compatible yet.
+
+This tutorial will be showing how to install in both FreeBSD and Windows environments.
+
+
+
+##  **FreeBSD**
+
+### ⬇️ Obtaining the Serverfiles
+
+First things first, find a folder of your choosing where you will be cloning the Serverfiles project (server). In your terminal, `cd` into that location and download the project using `git`.
+
+
+
+ Here's how
+
+
+
+
+ >
+ >
+ >
+ >
+ > This example will use `/usr/home/game` as the working directory.
+ >
+ > Execute these commands:
+ >
+ > ```
+ > mkdir /usr/home/game
+ > cd /usr/home/game
+ > git clone https://github.com/d1str4ught/m2dev-server.git .
+ > ```
+ > Mind the `.` in the end of the last command.
+ >
+ > With the `.`, the project will be cloned right in `/usr/home/game`, while without it, it will be cloned as `/usr/home/game/m2dev-server`.
+ >
+ > This is just a preference, either way is fine.
+ >
+ >
+ >
+ > ### ✅ You have successfully obtained the Serverfiles project!
+ >
+ >
+ >
+
+
+
+
+### 🛻 Getting everything in the right place
+
+Before getting into the actual configuration of the files, it is very important that you get your **compiled binaries** into the right places.
+
+**If you haven't compiled the Server Source yet, you should pause here, compile everything and come back to this point**!
+
+
+
+ After your builds are done
+
+
+
+
+ >
+ >
+ >
+ > What you need to do is distribute the built binaries in their respective locations within the **Server** project and assign full system permissions (`0777`). You will find the built binaries in the `server-src/build` folder:
+ > - game
+ > - db
+ > - qc
+ >
+ > First, `cd` into that directory and then execute these commands (**replace the directories with your own structure!!!**):
+ >
+ > ```
+ > cd /usr/home/src/build/bin
+ >
+ > cp ./game /usr/home/game/share/bin/game
+ > chmod 777 /usr/home/game/share/bin/game
+ >
+ > cp ./db /usr/home/game/share/bin/db
+ > chmod 777 /usr/home/game/share/bin/db
+ >
+ > cp ./qc /usr/home/game/share/locale/english/quest/qc
+ > chmod 777 /usr/home/game/share/locale/english/quest/qc
+ > ```
+ > **Note**: For `qc`, replace `english` with your locale if you have changed it.
+ >
+ >
+ >
+ > #### You should now have the following files in their respective directories with full system permissions assigned:
+ > - `/usr/home/game/share/bin/game`
+ > - `/usr/home/game/share/bin/db`
+ > - `/usr/home/game/share/locale/english/quest/qc`
+ >
+ >
+ >
+ > ### ✅ You have distributed your built binaries to their destination directories!
+ >
+ >
+ >
+
+
+
+
+### 🛠️ Building the quests
+
+This step is gonna be extremely easy and most of you are very familiar with it.
+
+
+
+ Here's what to do
+
+
+
+
+ >
+ >
+ >
+ > First, `cd` into the destination directory of your `qc` built binary:
+ > ```
+ > cd /usr/home/game/share/locale/english/quest
+ > ```
+ >
+ > Next, run the `make.py` file to execute the `qc` and build all your quests:
+ >
+ > ```
+ > python make.py
+ > ```
+ >
+ > **WARNING**: You need to **first `cd` into the quests folder** before executing the `make.py` script!
+ > Commands like:
+ > ```
+ > python /usr/home/game/share/locale/english/quest/make.py
+ > ```
+ > **will result in errors!**
+ >
+ > This happens because when you `cd` in a folder you are changing the `cwd` (current working directory). If your `cwd` is not the `quest` folder, the `make.py` script will not be able to find your quests and hence, an error will appear.
+ >
+ >
+ >
+ > After `qc` has done its job, your terminal should be looking like this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully built the quests!
+ >
+ >
+ >
+
+
+
+
+### 📊 Importing the databases and tables
+
+If you've configured your database correctly in the Server Source part and you can successfully connect to your root account with your terminal or/end your database management software (Navicat), then this process is gonna be very easy.
+
+
+
+ The process
+
+
+
+
+ >
+ >
+ >
+ > There's 5 different databases that you need to import into your MariaDB/MySQL Server:
+ > - `account`
+ > - `common`
+ > - `hotbackup` (empty database, needs to simply exist)
+ > - `log`
+ > - `player`
+ >
+ >
+ >
+ > You have 2 options to import these databases and their tables
+ >
+ > #### **1. Terminal**
+ > First, you need to create the 5 databases before importing their tables and data.
+ >
+ > In your terminal type these commands:
+ >
+ > ```
+ > CREATE DATABASE account;
+ > CREATE DATABASE common;
+ > CREATE DATABASE player;
+ > CREATE DATABASE log;
+ > CREATE DATABASE hotbackup;
+ > exit;
+ > ```
+ >
+ >
+ >
+ > Next, in your `/usr/home/game/sql` (or wherever you installed the serverfiles) you have some `*.sql` files (`account.sql`, `common.sql`, etc...).
+ >
+ > You can use these files to import everything with a simple command.
+ >
+ > First `cd` into the `/sql` folder:
+ >
+ > ```
+ > cd /usr/home/game/sql
+ > ```
+ >
+ > and then:
+ >
+ > ```
+ > mysql -u root -p account < account.sql
+ > mysql -u root -p common < common.sql
+ > mysql -u root -p log < log.sql
+ > mysql -u root -p player < player.sql
+ > ```
+ >
+ >
+ >
+ > If you open up your MariaDB connection in Navicat, your tables should be now visible!
+ >
+ > 
+ >
+ >
+ >
+ > #### **2. Navicat (database management software)**
+ >
+ > In Navicat, double click your connection to open it. Next, select **New Database...**
+ >
+ > 
+ >
+ > A dialog will popup, there enter the name of your database name (e.g., `account`) in **Database Name** and make sure that **Character Set** is set to `utf8mb4` for all cases.
+ >
+ > 
+ >
+ > Do that for all 5 databases:
+ > - `account`
+ > - `common`
+ > - `hotbackup`
+ > - `log`
+ > - `player`
+ >
+ >
+ >
+ > Next, double click in a database to open it. It should turn green. Once it's open, right click on it and select **Execute SQL File...**
+ >
+ > 
+ >
+ > A dialog will popup, leave all checkboxes to the default values and click the **...** button to browse through your file system (**the `sql` files need to be downloaded from the VM to your physical drive**) and select the file. Once selected, click **Start** and wait for the process to finish.
+ >
+ > 
+ >
+ > Once this pops up, you can click **Close**.
+ >
+ > 
+ >
+ >
+ >
+ > Make sure you repeat this process for all created databases (you can skip `hotbackup`)
+ >
+ >
+ >
+ > If you right click and hit **Refresh** in the empty space, you should be seeing all your tables.
+ >
+ > 
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully imported all the game databases and tables!
+ >
+ >
+ >
+
+
+
+
+### ⚙️ Configuring the server
+
+If you've done everything right so far, you are ready to turn on the server for the first time.
+
+
+
+ One-step configuration
+
+
+
+
+ >
+ >
+ >
+ > Simply `cd` to your serverfiles' root directory (e.g., `/usr/home/game` and execute the `install.py` file)
+ >
+ > ```
+ > cd /usr/home/game
+ > python install.py
+ > ```
+ >
+ > You should be seeing this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully installed the serverfiles!
+ >
+ >
+ >
+
+
+
+
+### 🎮 Starting the server for the first time
+
+All you need is one command in the terminal.
+
+
+
+
+
+ The command
+
+
+
+
+ >
+ >
+ >
+ > Simply `cd` to your serverfiles' root directory (e.g., `/usr/home/game` and execute the `start.py` file)
+ >
+ > ```
+ > cd /usr/home/game
+ > python start.py
+ > ```
+ >
+ > Next, select how many channels you would like to start and hit ENTER.
+ >
+ > You should be seeing this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully started the server!
+ >
+ >
+ >
+
+
+
+
+
+---
+
+
+
+
+##  **Windows**
+
+This process will be almost identical to the **FreeBSD** method, only a few little things change here.
+
+
+
+### 🧱 Software Prerequisites
+
+
+
+ Please make sure that you have installed the following software in your machine before continuing:
+
+
+
+
+ >
+ >
+ > -  **Python**: The software used to execute python scripts. It is **recommended to ADD TO PATH** at the end of the installation. [Download](https://www.python.org/downloads/)
+ >
+ >
+ >
+
+
+
+
+
+### ⬇️ Obtaining the Serverfiles
+
+First things first, find a folder of your choosing where you will be cloning the Serverfiles project (server).
+
+
+
+ Here's how
+
+
+
+
+ >
+ >
+ >
+ >
+ > Create a new folder in a location of your choosing and open up a command prompt into that folder (or `cd` there).
+ >
+ > The, execute this command:
+ >
+ > ```
+ > git clone https://github.com/d1str4ught/m2dev-server.git
+ > ```
+ >
+ >
+ >
+ > ### ✅ You have successfully obtained the Serverfiles project!
+ >
+ >
+ >
+
+
+
+
+### 🛻 Getting everything in the right place
+
+Before getting into the actual configuration of the files, it is very important that you get your **compiled binaries** into the right places.
+
+**If you haven't compiled the Server Source yet, you should pause here, compile everything and come back to this point**!
+
+
+
+ After your builds are done
+
+
+
+
+ >
+ >
+ >
+ > What you need to do is distribute the built binaries in their respective locations within the **Server** project. You will find the built binaries in the `server-src\build` folder:
+ > - game.exe
+ > - db.exe
+ > - qc.exe
+ >
+ > Simply copy them from the `build` folder and into their respective destinations:
+ >
+ > - `m2dev-server\share\bin\game.exe`
+ >
+ > - `m2dev-server\share\bin\db.exe`
+ >
+ > - `m2dev-server\share\locale\english\quest\qc.exe`
+ >
+ > **Note**: For `qc`, replace `english` with your locale if you have changed it.
+ >
+ >
+ >
+ > ### ✅ You have distributed your built binaries to their destination directories!
+ >
+ >
+ >
+
+
+
+
+### 🛠️ Building the quests
+
+This step is gonna be extremely easy and most of you are very familiar with it.
+
+
+
+ Here's what to do
+
+
+
+
+ >
+ >
+ >
+ > First, open up a command prompt (or `cd`) into the destination directory of your `qc` built binary.
+ >
+ > Next, run the `make.py` file to execute the `qc` and build all your quests:
+ >
+ > ```
+ > python make.py
+ > ```
+ >
+ > **WARNING**: You need to **first `cd` into the quests folder** before executing the `make.py` script!
+ > Commands like:
+ > ```
+ > python C:\m2dev-server\share\locale\english\quest\make.py
+ > ```
+ > **will result in errors!**
+ >
+ > This happens because when you `cd` in a folder you are changing the `cwd` (current working directory). If your `cwd` is not the `quest` folder, the `make.py` script will not be able to find your quests and hence, an error will appear.
+ >
+ >
+ >
+ > After `qc` has done its job, your terminal should be looking like this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully built the quests!
+ >
+ >
+ >
+
+
+
+
+### 📊 Importing the databases and tables
+
+If you've configured your database correctly in the Server Source part and you can successfully connect to your root account with your terminal or/end your database management software (Navicat), then this process is gonna be very easy.
+
+
+
+ The process
+
+
+
+
+ >
+ >
+ >
+ > There's 5 different databases that you need to import into your MariaDB/MySQL Server:
+ > - `account`
+ > - `common`
+ > - `hotbackup` (empty database, needs to simply exist)
+ > - `log`
+ > - `player`
+ >
+ >
+ >
+ > You have 2 options to import these databases and their tables
+ >
+ > #### **1. Command Prompt**
+ > First, you need to create the 5 databases before importing their tables and data.
+ >
+ > In your command prompt type these commands:
+ >
+ > ```
+ > CREATE DATABASE account;
+ > CREATE DATABASE common;
+ > CREATE DATABASE player;
+ > CREATE DATABASE log;
+ > CREATE DATABASE hotbackup;
+ > exit;
+ > ```
+ >
+ >
+ >
+ > Next, in your `m2dev-server\game\sql` (or wherever you installed the serverfiles) you have some `*.sql` files (`account.sql`, `common.sql`, etc...).
+ >
+ > You can use these files to import everything with a simple command.
+ >
+ > First, open up a command prompt inside or `cd` into the `\sql` folder and then:
+ >
+ > ```
+ > 'C:\Program Files\MariaDB 12.1\bin\mariadb.exe' -u root -p account < account.sql
+ > 'C:\Program Files\MariaDB 12.1\bin\mariadb.exe' -u root -p common < common.sql
+ > 'C:\Program Files\MariaDB 12.1\bin\mariadb.exe' -u root -p log < log.sql
+ > 'C:\Program Files\MariaDB 12.1\bin\mariadb.exe' -u root -p player < player.sql
+ > ```
+ > **Make sure you use your own installation path.**
+ >
+ >
+ >
+ > If you open up your MariaDB connection in Navicat, your tables should be now visible!
+ >
+ > 
+ >
+ >
+ >
+ > #### **2. Navicat (database management software)**
+ >
+ > In Navicat, double click your connection to open it. Next, select **New Database...**
+ >
+ > 
+ >
+ > A dialog will popup, there enter the name of your database name (e.g., `account`) in **Database Name** and make sure that **Character Set** is set to `utf8mb4` for all cases.
+ >
+ > 
+ >
+ > Do that for all 5 databases:
+ > - `account`
+ > - `common`
+ > - `hotbackup`
+ > - `log`
+ > - `player`
+ >
+ >
+ >
+ > Next, double click in a database to open it. It should turn green. Once it's open, right click on it and select **Execute SQL File...**
+ >
+ > 
+ >
+ > A dialog will popup, leave all checkboxes to the default values and click the **...** button to browse through your file system (**the `sql` files need to be downloaded from the VM to your physical drive**) and select the file. Once selected, click **Start** and wait for the process to finish.
+ >
+ > 
+ >
+ > Once this pops up, you can click **Close**.
+ >
+ > 
+ >
+ >
+ >
+ > Make sure you repeat this process for all created databases (you can skip `hotbackup`)
+ >
+ >
+ >
+ > If you right click and hit **Refresh** in the empty space, you should be seeing all your tables.
+ >
+ > 
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully imported all the game databases and tables!
+ >
+ >
+ >
+
+
+
+
+### ⚙️ Configuring the server
+
+If you've done everything right so far, you are ready to turn on the server for the first time.
+
+
+
+ One-step configuration
+
+
+
+
+ >
+ >
+ >
+ > Simply `cd` to your serverfiles' root directory (e.g., `/usr/home/game` and execute the `install.py` file)
+ >
+ > ```
+ > cd /usr/home/game
+ > python install.py
+ > ```
+ >
+ > You should be seeing this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully installed the serverfiles!
+ >
+ >
+ >
+
+
+
+
+### 🎮 Starting the server for the first time
+
+All you need is one command in the terminal.
+
+
+
+
+
+ The command
+
+
+
+
+ >
+ >
+ >
+ > Simply `cd` to your serverfiles' root directory (e.g., `/usr/home/game` and execute the `start.py` file)
+ >
+ > ```
+ > cd /usr/home/game
+ > python start.py
+ > ```
+ >
+ > Next, select how many channels you would like to start and hit ENTER.
+ >
+ > You should be seeing this:
+ >
+ > 
+ >
+ >
+ >
+ > ### ✅ You have successfully started the server!
+ >
+ >
+ >
+
+
+
+
+
+---
+
+## Basic server management scripts
+Below is a little list of what the scripts inside the root folder of the project do. The names are pretty self-explanatory but here they are anyway:
+
+ - `start.py` starts the selected number of channels
+ - `stop.py` stops all channel instances and the database
+ - `install.py` installs the channels and links the folders inside `share` to each channel core
+ - `clear.py` clears all logs from every channel core (`pid.json`, `syserr.log`, `syslog.log`, any `.core` files as well as the `log` folder)
+ - `channels.py` dependency of `install.py`, running it doesn't do anything
+ - `perms.py` (Linux only) assigns full permissions to the binaries (`game`, `db` and `qc`)
+
+
+
+
+---
+
+
+
+
+## Recap
+After finishing this part, you should now have knowledge of:
+
+ - The base structure of the serverfiles
+ - Creating and populaing MariaDB databases and tables through `sql` scripts using the terminal/command line or Navicat's interface
+ - Building the quests
+ - Managing the server (starting/stopping/clearing/installing)
+
+
+
+## 🔥 Your server is now live!
+
+
+
+## Next steps
+After following either the **FreeBSD** method or the **Windows** method, you should be ready to proceed to cloning, building and distributing the [Client Source project](https://github.com/d1str4ught/m2dev-client-src)
+
+⭐ **NEW**: We are now on Discord, feel free to [check us out](https://discord.gg/ETnBChu2Ca)!
\ No newline at end of file