Welcome!

Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!

Join Today!

[Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes

Newbie Spellweaver
Joined
Apr 11, 2024
Messages
19
Reaction score
11
-----------------------------------------------------------
2024-04-25
-----------------------------------------------------------
If you have any problem regarding the files below or just want to make these steps easier, try and follow these instructions, then you won't need to patch your own binaries and won't need to follow steps from 4 to 11 from original post (still need to read them for some info).

First, download the pre-patched binaries from . These are binaries already patched to start and connect through the 172.168.0.7 IP. I've added a few parameters to make this IP static for the server container, so it'll always be the same. Then follow the instructions below:

1. Copy and paste the downloaded Client and Server folders (from patch) to AKPrivate folder.
2. When prompted, allow to replace all files
3. Run the following command in Server Folder: docker compose up --build --force-recreate -d
4. Login to pgadmin (localhost:8080)
- 4.1. Navigate to FFAccount -> Public -> Worlds -> Navigate
- 4.2. Change IPs to 172.168.0.7
- 4.3. Navigate to FFDb1 -> Public -> ServerStatus -> Navigate
- 4.4. Edit the four entries (Both WorldServers and both ZoneServers
to 172.168.0.7 at ext_address field. DO NOT CHANGE OTHER FIELDS
NOR MissionServer entry.
5. Now you should be able to connect from client


PS.: Use the --build and --force-recreate parameters only once,
then you should be able to run with

docker compose build -d

-----------------------------------------------------------
Original Post
-----------------------------------------------------------
So, introduction post is a requirement. Can think of a better introduction then doing what I came here to do.

I've been hosting private servers for awhile now (not really happy with MMORPG's Companies' Owners decisions for the past 15 years). Last Single Player / LAN server I've been working on is an AzerothCore with NPCBots fork where I've been playing for a couple of days without much to add to it. Now I've decided to play Aura Kingdom and, logging in the current server makes me sad so I came here looking for private server files.

Found the @yokohiro's guide using @Eperty123 + @genz files with his fixes, also mentioning @Zortex' guide.

The above mentioned are the ones that must receive credits for current project.

That being said, let's move on.

Requirements:


Optional:
Previous knowledge on using docker

If you don't have any previous knowledge on how to use Docker, please, follow the at least until you reach "Multi-container apps".

Download files from MEGA:

Password: s7X5nBsw2ZM1OabOwxIypA

After downloading the files from Mega and decompress them, you'll have three folders:
- AKTools
- Client
- Server

Now, you can follow the step-by-step guide below or .

Step-by-Step:
1. Your first step will be figure out what's your machine LAN IP , which can be done by using ipconfig on windows or ip addr on linux or any other you prefer.

2. Now, open Server folder and find setup.ini file, there you'll find two lines asking for your LAN IP. Change both lines and don't mess with anything else. Then, do the same for setup.ini in GatewarServer, HTTPAServer and TicketServer folders.

3. If you have previous knowledge or have followed the Hands-On Tutorial on Docker, you'll notice there's a Dockerfile and a docker-compose.yml files in the Server folder. Now, open your favorite terminal app (bash, zsh, powershell) in that folder and run:

Bash:
docker compose build

This command is responsible for creating the first version of the Docker Image that will be running our server. After this command is done, run:

Bash:
docker compose up -d

Which will run our three containers: ak-database, ak-server and ak-pgadmin.

4. Now that we've got our containers running, we need to get our ak-server's Container IP. In the same folder, run:
Bash:
docker exec -it ak-server sh

This will get you to your container's terminal (You'll see something like: sh-4.2#). Now, run the following:
Bash:
yum install net-tools -y
and, after installation is finished, run:
Bash:
ifconfig
Under eth0 interface, on inet line, you'll find your desired IP (usually starting with 172...)

Now, open your favorite browser and access: , where you'll find PHPPgAdmin running.
Access your database with default credentials:
user: postgres
password: 123456

5. Navigate to FFAccount -> Public -> Worlds -> Navigate
Edit both entries to have your ak-server's Container IP at ip field.

6. Navigate to FFDb1 -> Public -> ServerStatus -> Navigate
Edit the four entries (Both WorldServers and both ZoneServers1 to have your ak-server's Container IP at ext_address field. DO NOT CHANGE OTHER FIELDS NOR MissionServer entry.

7. Back to your terminal, at Server folder, run the following to apply our changes:
Bash:
docker compose restart

8. Go to the AKTools folder, there you'll find: AKTools.exe, folder Binaries and folder Fix.

9. Copy every file from Binaries folder to Fix folder.

10. Open AKTools.exe, type your ak-server's Container IP in the IP field. Click Convert and then Hex files. This will patch your server files inside Fix folder to use your container's IP.

11. Move each file from Fix folder to each individual folder on Server.
Example:
./Fix/MissionServer -> ./Server/MissionServer/MissionServer

12. Back to your terminal, at Server folder, run the following to apply our changes:
Bash:
docker compose up --build

This will rebuild our Docker image to use our patched files and restart server.

13. Go to Client folder

14. Open connect.ini and change ip address to your server's ak-server's Container IP.

15. Open GameLauncher.exe and play :)

Default player account:
user: test
password: test

Known issues:
  • Our ak-server container is running libfaketime to set time to 2016, but .net applications do not respect libfaketime. You can change your host clock to 2016 and you'll be able to play everything nicely, but that's a pita. The only problem I've found until now regarding this issue is that Andre won't open the fire gate so you can kill third general. I've managed to workaround this by using GM Command /goto to move beyond the wall and kill the last guy.
  • The ak-server container IP only exists in our docker network, so it won't be visible outside our host machine, which makes impossible to make a LAN Party, making this game essentially single player. Still thinking of a workaround/fix.
That's it, hope you enjoy.
 
Last edited:
Hello and welcome! It's great to see your enthusiasm for setting up private servers and exploring different MMORPGs. It seems like you've had quite the journey with hosting private servers, including your recent project with an AzerothCore NPCBots fork.

I appreciate you acknowledging the contributions of users like [@yokohiro](https://forum.ragezone.com/members/2000040892.html), [Eperty123](http://forum.ragezone.com/members/2000040892.html), [genz](http://forum.ragezone.com/members/1333364492.html), and [Zortex](http://forum.ragezone.com/members/2000199838.html) towards your current project. It's always important to recognise and give credit to those whose work has helped you along the way.

The step-by-step guide you've provided for setting up an Aura Kingdom server using Docker is detailed and well-organized. It's clear that you've put a lot of effort into explaining each stage clearly, making it accessible for users with varying levels of experience.

The known issues you've highlighted are also crucial for users to be aware of, and your transparency in addressing them demonstrates a proactive approach to problem-solving.

If you have any questions or need further assistance with your server setup, feel free to ask. Good luck with your Aura Kingdom server project, and I hope you have a great time exploring the game in your private server environment!
 
"The only problem I've found until now regarding this issue is that Andre won't open the fire gate so you can kill third general. I've managed to workaround this by using GM Command /goto to move beyond the wall and kill the last guy."

That problem is solved by changing the year to 2013 or 2012, I don't remember correctly xd
 
"The only problem I've found until now regarding this issue is that Andre won't open the fire gate so you can kill third general. I've managed to workaround this by using GM Command /goto to move beyond the wall and kill the last guy."

That problem is solved by changing the year to 2013 or 2012, I don't remember correctly xd
Yeah, in a VM that worked fine, but dockerized systems return host's clock on date function, also changing host's clock when changing date. Libfaketime is supposed to pretend for the applications that we changed clock
but the actual server files are still going through and getting system / host's clock (or maybe I did something wrong while configuring, still playing with it). Of course one can change it's clock while playing, but I'm trying to keep things as simple as possible.
 
Hey I tried everything on the video and can't get it to work for me. Everything seemed to compiled good except "docker compose up --build". I'm very noob to powershell and linux. It says server ready and I double check client connect file and pgpPgAdmin. It still wont let me log into the game and not connected to server.
 

Attachments

  • 11 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    11.webp
    161.2 KB · Views: 45
  • 12 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    12.webp
    189.8 KB · Views: 46
Hey I tried everything on the video and can't get it to work for me. Everything seemed to compiled good except "docker compose up --build". I'm very noob to powershell and linux. It says server ready and I double check client connect file and pgpPgAdmin. It still wont let me log into the game and not connected to server.
The server is ready message can be quite misleading, I've added it there just to have a different output when the last ZoneServer is starting, but it doesn't really mean that the server "is ready". It seems like your database and pgadmin are running just fine, so we can cross that on our checklist. Let's check your server container.

There are a bunch of segmentation fault errors in your shell.
Following this configuration, the segmentation fault usually comes from using the wrong OS Image or a corrupted server binary.

Make sure the Dockerfile in Server folder starts with FROM centos:centos7, which is the OS Image supported by these files.

Have you used AKTools to patch your binaries?
If you did, try to replace them with the original files (The ones in ./AKTools/Binaries), then, run:
Bash:
docker compose up ak-server --build

That shouldn't make you able to play, but will show us if your binaries have been corrupted on patch.
 
The server is ready message can be quite misleading, I've added it there just to have a different output when the last ZoneServer is starting, but it doesn't really mean that the server "is ready". It seems like your database and pgadmin are running just fine, so we can cross that on our checklist. Let's check your server container.

There are a bunch of segmentation fault errors in your shell.
Following this configuration, the segmentation fault usually comes from using the wrong OS Image or a corrupted server binary.

Make sure the Dockerfile in Server folder starts with FROM centos:centos7, which is the OS Image supported by these files.

Have you used AKTools to patch your binaries?
If you did, try to replace them with the original files (The ones in ./AKTools/Binaries), then, run:
Bash:
docker compose up ak-server --build

That shouldn't make you able to play, but will show us if your binaries have been corrupted on patch.
Yea I used Aktools to patch my Ip and hex it already. Still does not work. I'm not familiar with Docker, but is it supposed to say error when starting in the picture? Docker is still running in the back.
 

Attachments

  • Capture13 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    Capture13.webp
    124 KB · Views: 41
Last edited:
Yea I used Aktools to patch my Ip and hex it already. Still does not work. I'm not familiar with Docker, but is it supposed to say error when starting in the picture? Docker is still running in the back.
Shouldn't happen, but it seems with current version of docker for windows. Still doesn't seem to be the issue.
From your last screen capture I can see you're using the correct Centos 7 image, so it might be the binaries.
Have you tried using the unpatched binaries?

If you deleted them, you can download only the unpatched binaries so you don't have to download whole package again.

Then, remove the current container (docker compose down ak-server), build it again (docker compose build) and try running one more time (docker compose up). This way we can be sure it isn't a corrupted server file causing the segfault.
 
I deleted old binaries and replaced them with the unpatched ones. This is what I got, I don't see segment faults for login, worldserver, and zoneserver. But does patching with AKtools cause corrupted server binaries? If not is there other ways to patch it without corrupting?
 

Attachments

  • 14 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    14.webp
    197.8 KB · Views: 45
  • 15 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    15.webp
    91.2 KB · Views: 38
Last edited:
I deleted old binaries and replaced them with the unpatched ones. This is what I got, I don't see segment faults for login, worldserver, and zoneserver. But does patching with AKtools cause corrupted server binaries? If not is there other ways to patch it without corrupting?
The first screenshot (14.PNG) looks good, if it kept running without segfaults, that's what we're looking for. The second (15.PNG) points towards a network misconfiguration between docker restarts. If the problem persists, you might want to run the command below next time you try executing your containers:
Bash:
docker compose up --force-recreate

AKTools should not corrupt the files, you can try to patch the ones that are currently working again to make sure they got corrupted in this step.

Can i use V15 files with this
No idea, I have not made too much effort to run with any other version. One can always try (and, if possible, share your results with us)
 
The first screenshot (14.PNG) looks good, if it kept running without segfaults, that's what we're looking for. The second (15.PNG) points towards a network misconfiguration between docker restarts. If the problem persists, you might want to run the command below next time you try executing your containers:
Bash:
docker compose up --force-recreate

AKTools should not corrupt the files, you can try to patch the ones that are currently working again to make sure they got corrupted in this step.


No idea, I have not made too much effort to run with any other version. One can always try (and, if possible, share your results with us)
So I couldn't get the client to connect with the "test" account. The Lan IP is our Internet IP and Aura IP is docker IP right? I'm still confused as to why it is'nt connecting. I turned off my firewall as well.
 
The Lan IP is our Internet IP and Aura IP is docker IP right
Yes, always check your docker IP to make sure it hasn't changed. You can use
Bash:
docker inspect ak-server
while your container is running to get something like this:
1713737511944 - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums


The "IPAddress" is what you're looking for, so maybe the following command gets you a filtered result:
Bash:
docker inspect ak-database | grep '"IPAddress"'

Also, the unpatched binaries won't let you connect as the WorldServer is expecting connections through the original IP.

You can check some logs using: docker exec -it ak-server less ./FoderName/Test.log*
Example.:
Bash:
docker exec -it ak-server less ./WorldServer101/Test.log*

Especially this one (after you reach Server is Ready message) will give you a decent feedback on why you can't connect using unpatched binaries. Each binary folder has its individual set of logs, so you can look for something there.

Also, on an unrelated note, as you've been building images for awhile now, I'd recommend using the following command to remove dangling images that are currently unused but are still using space on your disk:
Bash:
docker image prune



-----------------------------------------------------------
2024-04-25
-----------------------------------------------------------

So I couldn't get the client to connect with the "test" account. The Lan IP is our Internet IP and Aura IP is docker IP right? I'm still confused as to why it is'nt connecting. I turned off my firewall as well.

Ok, it's been awhile now, but I think I've found a good fix for this.

First, download the pre-patched binaries from . These are binaries already patched to start and connect through the 172.168.0.7 IP. I've added a few parameters to make this IP static for the server container, so it'll always be the same. Then follow the instructions below:

1. Copy and paste the downloaded Client and Server folders (from patch) to AKPrivate folder.
2. When prompted, allow to replace all files
3. Run the following command in Server Folder: docker compose up --build --force-recreate -d
4. Login to pgadmin (localhost:8080)
4.1. Navigate to FFAccount -> Public -> Worlds -> Navigate
4.2. Change IPs to 172.168.0.7
4.3. Navigate to FFDb1 -> Public -> ServerStatus -> Navigate
4.4. Edit the four entries (Both WorldServers and both ZoneServers
to 172.168.0.7 at ext_address field. DO NOT CHANGE OTHER FIELDS
NOR MissionServer entry.
5. Now you should be able to connect from client


PS.: Use the --build and --force-recreate parameters only once,
then you should be able to run with

docker compose build -d
 
Last edited:
Hello I can't get past the login screen message. I followed both the written and video guide in this thread and still can't get it to work. I also applied the private patch but I am not sure if it attempted to do anything cause after running the command "docker compose up --build --force-recreate -d", it shows this error. In both attempts, I made sure i'm copying the right lan IP (beginning part) and ak server container ip
 

Attachments

  • Screenshot (14) - [Introduction][AuraKingdom][Docker] Get your single player AK Server running in 30 minutes - RaGEZONE Forums
    Screenshot (14).webp
    80.8 KB · Views: 18
Hello I can't get past the login screen message. I followed both the written and video guide in this thread and still can't get it to work. I also applied the private patch but I am not sure if it attempted to do anything cause after running the command "docker compose up --build --force-recreate -d", it shows this error. In both attempts, I made sure i'm copying the right lan IP (beginning part) and ak server container ip
Looks like the database container is conflicting, try running:

Code:
docker container rename ak-database old-ak-database

to see if can fulfill the recreation
 
Back