This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!
Allods Online 3.0 — Public Client & Server Release and Complete Windows / WSL2 Installation Guide
The Allods Developers Community is making the complete 3.0 server and matching Windows client available as a public community release.
The resources, tutorials, and Docker setup included in this release were prepared and published by Сорок два .
Release: Allods Online 3.0 Community Edition Host operating system: Windows 10 (build 19041 or newer) or Windows 11, 64-bit Server runtime: Ubuntu on WSL2 Database runtime: MySQL 5.7 and PostgreSQL 9.3 in Docker Desktop Client runtime: Windows
The server archive contains the complete server stack, server-side tools, portable WSL2 configuration, isolated database services and account creation scripts. The client archive includes English and French launchers.
Recommended environment
Windows 10/11 x64
Ubuntu on WSL2
Docker Desktop with WSL integration
16 GB RAM and SSD storage
Installation guide
Follow the complete guide above before asking for support:
Verify both archives against SHA256SUMS.txt before extracting them. The client and server must come from this same release.
Support requests
When reporting a problem, include the exact error, Windows version, wsl -l -v, docker compose ps, server status and the final lines of the failed service log.
A user reported that antivirus detected the original starter.exe file as Malware.AI.3374321251.
After reviewing and analyzing the executable, I confirmed that this detection was a false positive. The file was not malware and did not contain any network communication, download functionality, persistence mechanism, process injection, registry modification or other hidden malicious behavior.
The original executable was a small launcher utility whose only purpose was to:
Delete the previous English launcher.
Replace it with the newly downloaded launcher version.
Start AOgame.exe.
The detection was most likely caused by the old executable being unsigned, having no publisher metadata and using Windows command execution to delete, move and launch executable files.
Although the original file was harmless, I decided to completely rebuild starter.exe from scratch using a cleaner implementation.
The updated version:
No longer uses system() or command-line operations.
Uses the Windows API directly for file replacement and game startup.
Includes proper application and version metadata.
Has been rebuilt from clear and auditable source code.
Is publicly available with its complete source code.
Users who downloaded the client before this update can either:
Download the updated client archive again through ADC.
Download the new starter.exe from the GitHub release and replace the old file manually.
There is no need to exclude the entire client directory from your antivirus. Publishing the complete source code makes it possible for anyone to inspect the utility and verify that it only performs the intended launcher update and game startup operations.
Allods Online 3.0 — Complete Windows / WSL2 Installation Guide
Release: Allods Online 3.0 Community Edition Host operating system: Windows 10 (build 19041 or newer) or Windows 11, 64-bit Server runtime: Ubuntu on WSL2 Database runtime: MySQL 5.7 and PostgreSQL 9.3 in Docker Desktop Client runtime: Windows
This guide starts from a clean Windows computer and ends with a local, playable 3.0 server, a newly created account and a connected client. Read each section in order on a first installation.
1a. Download files
Download these two archives and the checksum file from the release page:
The server archive includes a directory named doc_teleport. This directory contains an offline mirror of historical Allods development and server documentation.
The archived folder structure, page titles, embedded links and crawler project files indicate that the documentation appears to originate from a former Astrum Nival Confluence installation hosted at gpt.astrumnival.com, particularly its GT documentation space.
The archive contains three main directories:
astrumnival
astrumnival2
astrumnival3
These directories appear to be separate download passes or partial snapshots of the same documentation source. Their content may overlap, and one snapshot may contain pages or attachments that are missing from another.
Depending on the snapshot, the archive may contain:
Archived Confluence documentation and navigation pages.
Pages from the historical GT documentation space.
Downloaded attachments, diagrams, images and thumbnails.
Word-export versions of some documentation pages.
Information about old Allods services, databases, tools, builds, releases and localization systems.
Configuration examples and references to historical infrastructure components.
.tpp and .tpu crawler project or index files.
The archive can be useful when:
A service, database, tool or configuration option has an unclear name.
Technical context is missing from the server files or installation scripts.
You need to understand historical server architecture, terminology or workflows.
You are looking for old examples, diagrams or attachments referenced by the documentation.
You want to compare the documented architecture with the components included in this server package.
How to browse the archive:
Start by opening an index.htm file from one of the astrumnival* directories in a web browser.
If the main navigation does not work, browse the directories manually and look under paths such as:
If a page, image or attachment is missing from one snapshot, check the other astrumnival* directories.
Most of the observed documentation dates from approximately 2012.
The archive may be incomplete, duplicated or internally inconsistent.
Its instructions and infrastructure details may not match this release.
Confluence search, authentication, forms and dynamic menus will not work in an offline mirror.
External links and links to services that no longer exist may be unavailable.
Some pages may use inconsistent character encoding.
Old hostnames, email addresses, credentials or internal references may remain in the archived content.
Strings that resemble credentials or access tokens must not be assumed to be valid or safe to reuse.
Do not execute scripts or binaries found inside the archive without reviewing them first.
Treat doc_teleport as historical research material, not as current or authoritative installation documentation.
For installation and daily server operation, always follow this release guide and the scripts included at the root of the server package.
2. Hardware requirements
Recommended:
Windows 11 x64.
8 physical CPU cores or more.
16 GB RAM or more.
20 GB free SSD space for the extracted client, server, databases and logs.
A CPU with virtualization enabled in UEFI/BIOS.
Practical minimum: 4 CPU cores and 12 GB RAM. Map loading is slower on the minimum configuration. The included quick map list is selected by default to reduce first-start memory and loading time.
3. Verify the downloads
Open PowerShell in the folder containing the downloads and run:
Restart Windows when requested. Open Ubuntu from the Start menu, wait for its first initialization, then create the Linux username and password requested by Ubuntu.
Back in PowerShell, verify that Ubuntu uses WSL version 2:
Code:
wsl -l -v
The VERSION column must show 2 for Ubuntu. If it shows 1, run:
Enable Use the WSL 2 based engine when the option is visible.
Open Settings > Resources > WSL Integration.
Enable integration for Ubuntu.
Click Apply & restart.
Open Ubuntu and verify the integration:
Bash:
docker version
docker compose version
Both commands must return version information. Do not install a second Docker Engine inside Ubuntu when Docker Desktop integration is already enabled.
6. Install 7-Zip support inside Ubuntu
In Ubuntu, run:
Bash:
sudo apt update
sudo apt install -y p7zip-full
7. Extract the server into the Linux filesystem
Important: run the server from the Ubuntu filesystem, for example under ~/allods30. Do not run it directly from /mnt/c, /mnt/d or another Windows-mounted drive; the server creates many small files and performs much better in the Linux filesystem.
The example below assumes the archive is in the Windows Downloads folder. Replace WINDOWS_USER with your Windows account folder name:
Bash:
mkdir -p ~/allods30
cd ~/allods30
7z x /mnt/c/Users/WINDOWS_USER/Downloads/Allods-Online-3.0-Server-ADC.7z
cd Allods-Online-3.0-Server
Confirm that you are in the correct directory:
Bash:
pwd
ls
You must see at least install.sh, start-all-servers.sh, docker-compose.yml, game, server_bin and vendors.
8. Run the automated installation
From the server directory, run:
Bash:
chmod +x install.sh
./install.sh
The installer performs the following operations:
Checks Docker and Docker Compose.
Starts an isolated MySQL 5.7 database on local port 33306.
Starts an isolated PostgreSQL 9.3 database on local port 55432.
Creates the empty databases required by the 3.0 services.
Detects the current WSL2 IPv4 address and applies it to the active server configurations.
Prepares the game resource root.
Prints the exact address that must be entered in the client.
The first run downloads the database images and can take several minutes. It is complete when the terminal displays:
Code:
[OK] Base installation completed.
You can display the detected address at any time with:
Bash:
cat .server-ip
9. Start the complete server stack
Run:
Bash:
./start-all-servers.sh start
The launcher starts the database containers when necessary, refreshes the WSL address, prepares resources, and then starts the server services in dependency order:
Account Server
Master Server
Billing Server
Item Mall Server
Log Server
GameTool
Shard and frontend services
The first start is the longest because the services create their database schemas and the shard loads maps. Do not close Ubuntu while it is starting. The command reports each service as ready and shows the listening ports at the end.
Check status in another Ubuntu terminal with:
Bash:
cd ~/allods30/Allods-Online-3.0-Server
./start-all-servers.sh status
Expected public game-facing ports are:
9337 — client authentication.
9347 — shard approval connection.
9357 — account API.
9322-9325 — shard frontends.
The database ports 33306 and 55432 are bound to localhost only and must remain private.
10. Create your first game account
Wait until Account Server is ready, then run:
Bash:
./create-account.sh YOUR_LOGIN
The script asks for the password twice without displaying it. The login must contain 3 to 32 letters, digits, dots, underscores or hyphens. The password must contain at least 6 characters.
Example:
Bash:
./create-account.sh alice
A successful operation ends with:
Code:
[OK] Account "alice" created.
Create a separate account for every player. Do not share one account between multiple users.
11. Extract and configure the Windows client
Use WinRAR or 7-Zip on Windows to extract Allods-Online-3.0-Client-ADC.rar to a short writable path, for example:
Code:
C:\Games\Allods-3.0
Avoid C:\Program Files because Windows permissions can prevent the launch scripts from updating the selected language file.
Open this file with Notepad:
Code:
C:\Games\Allods-3.0\Profiles\accountServer.cfg
Replace its content with the address printed by ./install.sh or cat .server-ip. Example:
The example address is not universal. Use your current value from .server-ip. Keep the quotation marks around the host.
12. Launch the client
Run one of these files from the client directory:
StartEN.bat — English client.
StartFR.bat — French client.
At the login screen, enter the account created with create-account.sh. Select the available shard and create a character.
Enable the included ConsoleSwitcher addon:
Log in with your character.
Press Esc to open the game menu.
Open User Addons.
Select ConsoleSwitcher and enable it.
Return to the game and use the new Console button.
ConsoleSwitcher only displays the built-in console. Commands are still restricted by the access level of the connected account. Do not grant administrative access to ordinary player accounts on a shared server.
Always start the server before the client.
13. Daily server commands
Bash:
# Start all server services
./start-all-servers.sh start
# Display processes, ports and memory usage
./start-all-servers.sh status
# Restart the complete stack
./start-all-servers.sh restart
# Stop Java services cleanly
./start-all-servers.sh stop
# Stop the database containers too
docker compose stop
To start again after a Windows reboot, open Docker Desktop, open Ubuntu, enter the server directory and run ./start-all-servers.sh start.
14. WSL address changes
The WSL2 IPv4 address can change after wsl --shutdown or a Windows restart. The launcher automatically updates the server configuration, but the Windows client file must contain the new address.
After starting the server, run:
Bash:
cat .server-ip
If the value changed, update Profiles\accountServer.cfg in the Windows client before launching it.
# Latest launcher log directory
ls -1dt run/start-all/* | head -1
# Database container status
docker compose ps
# Database initialization logs
docker compose logs --tail=100 mysql postgres
# Account Server output
tail -n 100 server_bin/accountServer/cfg/server.log
# Shard logs discovered recursively
find server_bin/shard -type f -name 'server.log' -print
When requesting help, include:
Your Windows version.
The output of wsl -l -v from PowerShell.
The output of docker compose ps.
The output of ./start-all-servers.sh status.
The last 100 lines of the failed service log.
The exact error displayed by the client or server.
16. Troubleshooting
Start Docker Desktop. Open Docker Desktop > Settings > Resources > WSL Integration, enable Ubuntu, then Apply & restart. Close every Ubuntu window, run wsl --shutdown in PowerShell, reopen Ubuntu and retry docker version.
Confirm that Docker Desktop is using Linux containers. Wait until Docker Desktop reports that the engine is running. Then run docker info inside Ubuntu. If this still fails, disable and re-enable Ubuntu under Docker Desktop's WSL Integration settings.
Run:
Bash:
docker compose ps
docker compose logs --tail=200 mysql postgres
Check available disk space with df -h. Do not delete the Docker volumes if they contain accounts or characters that you need to keep.
The Account Server has not completed its first schema creation. Start the stack, wait for Account Server to become ready, inspect server_bin/accountServer/cfg/server.log, then run the account command again.
First verify the current WSL address with cat .server-ip and copy it exactly into Profiles\accountServer.cfg.
In Windows PowerShell, test the authentication port:
TcpTestSucceeded must be True. If it is false, confirm that Account Server is running and allow the required game ports through Windows Defender Firewall for private networks.
Close memory-heavy applications. The supplied launcher uses maps_fast.cfg and limits the shard JVM to 4 GB. Give WSL enough memory by creating %UserProfile%.wslconfig on Windows:
Code:
[wsl2]
memory=12GB
processors=8
swap=8GB
Then run wsl --shutdown in PowerShell and start Docker Desktop again. Adjust the values to fit your computer; do not allocate all physical RAM to WSL.
Extract the client completely to a writable folder. Do not run the batch file from inside the RAR archive. Verify that the client contains bin, data, Profiles, StartFR.bat and StartEN.bat. Temporarily run the selected batch file from an already open Command Prompt to keep any error visible.
Open the game menu with Esc, enter User Addons, enable ConsoleSwitcher, and return to the game. If it was already enabled, reload it from the same addon menu. The client archive must contain data\Mods\Addons\ConsoleSwitcher\AddonDesc.(UIAddon).xdb.
Warning: this permanently deletes all accounts, characters and database data in this installation. Use it only for a new test installation that has no data to preserve.
Bash:
./start-all-servers.sh stop
docker compose down -v
./install.sh
./start-all-servers.sh start
17. Back up the databases
Stop player activity before taking a consistent backup. From the server directory:
Store the two SQL files outside the server directory as well. They contain account and character data and must not be posted publicly.
18. Local network and Internet exposure
Complete the same-computer installation first. For another computer on your local network, the address visible to that client and WSL/Windows port forwarding rules may differ from the WSL address used by the local Windows client.
For Internet hosting you must deliberately configure a public address, router/NAT forwarding and a restrictive firewall. Never forward MySQL 33306 or PostgreSQL 55432. Change all default database passwords before accepting untrusted connections. Public hosting is an advanced deployment and is outside the safe local quick-start procedure.
19. Clean shutdown
Before shutting down Windows, stop the services in this order:
Bash:
./start-all-servers.sh stop
docker compose stop
Wait for both commands to finish. This reduces the risk of an interrupted database write.
20. Quick command reference
Bash:
cd ~/allods30/Allods-Online-3.0-Server
./install.sh
./start-all-servers.sh start
./create-account.sh YOUR_LOGIN
cat .server-ip
./start-all-servers.sh status
./start-all-servers.sh stop
docker compose stop
If all services are ready, port 9337 is reachable from Windows, the client uses the value from .server-ip, and the account was created successfully, the local Allods Online 3.0 environment is ready.
21. Release credits
This community release was prepared and published by sorokdva (Сорок два) for the Allods Developers Community.
A significant amount of time was spent recovering, reviewing, organizing, rebuilding and preparing the materials required to make this version publicly usable.
This work includes:
Making the complete Allods Online 3.0 server and matching client publicly available.
Building clean, ready-to-use server and client archives.
Preparing an isolated Docker environment for the required MySQL 5.7 and PostgreSQL 9.3 services.
Creating installation, configuration, account creation and server management scripts.
Automating the server configuration so that a local server can be deployed and started with only a few commands, without manually configuring every database and individual service.
Testing and documenting the complete Windows, WSL2 and Docker installation process.
Writing this complete installation, troubleshooting, diagnostics and backup guide.
Creating new texts.pak language packages for both English and French.
Reconstructing the 3.0 client localization files using the Allods Online 4.0 language resources as a base and adapting them for compatibility with the 3.0 client.
Providing English and French launchers for a client version that had previously only been available publicly in Russian.
Publishing the historical doc_teleport documentation mirror.
Researching, organizing and writing the accompanying doc_teleport README so that the archived documentation can be understood and used safely.
The only previously available release of the Allods Online 3.0 client was in Russian. The English and French versions included in this package were therefore not taken from an existing public 3.0 localization release.
The texts.pak files had to be reconstructed using the Allods Online 4.0 language packages as a foundation, then adapted and packaged for use with the 3.0 client.
Before this community release, this complete Allods Online 3.0 version was not publicly available on the Internet as a freely accessible, multilingual, documented and ready-to-use package.
The objective of this release is to preserve this part of Allods history, make it accessible to developers and enthusiasts, and remove the technical and linguistic barriers that previously made installing, playing and studying this version unnecessarily difficult.
22. Support this work
This release, its ready-to-use archives, automated Docker environment, installation scripts, historical documentation mirror and complete tutorial were created and published for the community.
If this release helped you, saved you time, allowed you to discover Allods Online 3.0, or gave you access to resources that were previously unavailable publicly, please consider supporting the work of the Allods Developers Community with a donation.
Your support helps cover hosting and infrastructure costs and makes it possible to continue preserving, documenting and releasing additional Allods development resources for everyone.
Update regarding the Antivirus detection of starter.exe
A user recently reported that antivirus detected the starter.exe file included with the Allods Online 3.0 client as:
Malware.AI.3374321251
First of all, I would like to thank them for reporting it.
Security warnings should never be ignored, even when they eventually turn out to be false positives. Reporting the detection allowed me to investigate the file properly and improve the client release for everyone.
Investigation result
After analyzing the reported executable, I confirmed that the original starter.exe was not a virus.
The detection was a false positive caused by the way the old executable was built and by the operations it performed.
The original utility only executed the following operations:
Code:
del /F /Q ..\Launcher_English.exe
move ..\Launcher.new.exe ..\Launcher.exe
start /high AOgame.exe
Its purpose was therefore limited to:
Deleting the previous English launcher.
Replacing it with the newly downloaded launcher.
Starting the game executable.
During the analysis, I found:
No network communication.
No external URL.
No file download functionality.
No registry modification.
No persistence mechanism.
No process injection.
No use of WriteProcessMemory or CreateRemoteThread.
No obvious obfuscation.
No additional hidden behavior.
Why Antivirus detected it
Malware.AI.3374321251 is a generic detection generated by Malwarebytes' artificial-intelligence and heuristic detection systems. It is not the name of a confirmed malware family.
The old executable combined several characteristics that can appear suspicious to antivirus software:
It was not digitally signed.
It did not contain publisher or version metadata.
It used system() to execute Windows commands.
It deleted and replaced executable files.
It launched another executable with high process priority.
It was a very small PE32 executable compiled using an old MinGW/GCC toolchain.
It had very little public reputation because it was only distributed with this client release.
Taken together, these characteristics were enough to trigger Malwarebytes' heuristic engine, even though the actual behavior of the file was harmless.
Malwarebytes provides additional information about this type of generic detection here:
Although the original file was harmless, I decided not to simply tell users to ignore the warning or exclude the entire client folder from their antivirus.
Instead, I took the time to completely rebuild starter.exe from scratch using a cleaner and more transparent implementation.
The new version:
Does not use system().
Does not execute command-line instructions.
Uses the Windows API directly for file operations.
Uses the Windows API directly to launch the game.
Includes application, publisher and version metadata.
Performs only the required launcher replacement and game startup operations.
Is built from publicly available source code.
Source code and download
To make the behavior of the new utility completely transparent, I have published its full source code on GitHub.
Anyone can inspect the project, review the implementation and verify that the program only performs the operations described above.
If you have already downloaded the Allods Online 3.0 client and have not deleted it, you can use either of the following options:
Download the updated client archive again from the Allods Developers Community.
Download the new starter.exe from the GitHub release and manually replace the previous file.
You do not need to exclude the entire client directory from your antivirus.
If Malwarebytes quarantined only the previous starter.exe, you can simply replace it with the newly rebuilt version.
The actual game executable can also normally be launched directly through:
bin\AOgame.exe
However, the automatic launcher replacement process relies on starter.exe.
Final note
Once again, thank you to the user who reported the detection.
Even though the original file was confirmed to be a false positive and contained no malicious behavior, the report helped make the release cleaner, safer and more transparent.
Publishing the complete source code also means that users no longer have to rely only on my explanation: everyone can now inspect the utility and verify exactly what it does.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.