New Users Guide
Introduction
Welcome to EVEmu! This guide will help you go through the steps of setting up a Linux system to run EVEmu and launching the EVEmu Server. This guide is directed towards users with very little technical experience who want to test EVEmu or want to take a deep dive into server development. For any questions not covered in this guide you can contact us on Discord or Forums.
While it is possible to run EVEmu under Docker for Windows, it is not recommended.
Linux is the only OS which is supported / maintained by the development team.
Setting up your VPS
For first time users setting up a VPS can be tricky business. Don't worry it's quite easy with some simple instructions.
Please see this page on setting up your VPS: VPS Setup Guide
Preparing and Launching your EVEmu Server with Docker (RECOMMENDED)
Setting up your system for EVEmu
Setting up an instance for EVEmu is quite simple with the inclusion of Docker into the build process.
To start with we need to install Docker. Docker is a containerization engine that separates programs into items known as containers. These containers are separate from the root operating system and help reduce conflicts with other programs.
To install Docker run sudo curl -sSL https://get.docker.com/ | CHANNEL=stable bash
in your terminal window. Wait for this to complete.
Once this is done you now have docker installed on your server. Next you need to install a program called docker-compose.
This program just allows for easier access to the Docker Engine and will be used with actually launching the EVEmu Server.
You can install it by running sudo apt install -y docker-compose
.
Once this is done you are real close to being ready to launch the server. All thats left is to get the files.
Run git clone https://github.com/EvEmu-Project/evemu_Crucible.git
. This will download the files to your instance for use. Next run cd evemu_Crucible
.
This will put you within the server directory.
Launching the EVEmu Server
You are really close to being able to launch EVEmu. Actually you're on the last step.
First, inspect the docker-compose.yml
file. There are a few things that can be changed here which may help with customising your installation.
This environment variable will enable the use of gdb within the container for debugging purposes.
- RUN_WITH_GDB=FALSE #Set to TRUE to run evemu with gdb automatically
Additionally, you can configure the automatic seeding of market data using the following environment variables:
- SEED_MARKET=FALSE # Set to TRUE to seed the market when the server starts for the first time - SEED_SATURATION=80 # Set saturation level of seed - SEED_REGIONS=Derelik,The Citadel,The Forge # Define regions to be seeded
To launch your server run sudo docker-compose -p evemu up --build -d
.
Configuration will be stored within the evemu_config volume. To make changes to eve-server.xml, you must go to this volume location and modify it there.
A little bit of what this is doing. This command is downloading the dependencies needed to compile the server, and then actually compiling it into a working binary. It will then use this binary to run the evemu-server container.
This command is also downloading the needed files for the database, and compiling those into the MariaDB MySQL database that EVEmu stores all of its data in.
This will take time to complete anywhere upwards of five minutes depending on the specs of the server that you are running.
If you encounter any issues while running this command or the server fails to compile please contact us on our Discord or Forums. Once this process is done you now have a fully working EVEmu server.
Preparing and Launching your EVEmu Server Manually (NOT RECOMMENDED)
Server Compilation
We have confirmed both Fedora 33 and Ubuntu 20.04 LTS work for installing EVEmu from source. The Docker image is based upon Fedora 33 so this will what the code is tested against.
Installing Prerequisites on Fedora
dnf groupinstall -y "Development Tools" && dnf install -y cmake git zlib-devel mariadb-devel boost-devel tinyxml-devel utf8cpp-devel mariadb shadow-utils gdb
Installing Prerequisites on Ubuntu
sudo apt-get update && sudo apt upgrade && sudo apt install build-essential g++ cmake git libtinyxml2.6.2-dbg libtinyxml2.6.2 libmysql zlib1g-dev zlib1g-dbg libboost1.54
Compilation
git clone https://github.com/EvEmu-Project/evemu_Crucible cd evemu_Crucible mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=dist .. make -j(Number of cores you have available) make install
Database Setup
NOTE: MySQL is NOT SUPPORTED. Please use MariaDB 10.4 or later. Earlier versions may encounter issues.
- %devRoot% is where the development files are located.
- These may be the same location but that is not necessary.
- Open a terminal and go to the directory %devRoot%/evemu_Crucible/sql/
- Install and setup your database software, for EVEmu we use MariaDB
For Fedora: sudo dnf install -y mariadb-server sudo systemctl enable --now mariadb sudo mysql_secure_installation
For Ubuntu: sudo apt-get install mariadb-server sudo mysql_secure_installation
- Open your MySQL shell via
mysql -u root -p
and input the following:- Note: This will prompt you for the password you set in the Previous Step
create database evemu; GRANT ALL ON evemu.* TO 'evemu'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
- In the same SQL directory, run ./get_evedbtool.sh. This will download the latest version of EVEDBTool to your system. If you are using a non-x86_64 architecture, you may build this tool from source. The tool is written completely in Golang so can be built on most systems such as x86_64 and aarch64. Source is available here: https://github.com/evemu-project/evedbtool
- Now run ./evedbtool. This will cause the tool to generate a new evedb.yaml file in the current directory.
Layout of evedb.yaml
base-dir: base db-database: evemu db-host: 127.0.0.1 db-pass: evemu db-port: "3306" db-user: evemu log-level: Info migrations-dir: migrations seed-regions: - Derelik seed-saturation: 80
Edit this file to contain your database credentials. Optionally, you can also add regions you wish to seed with market orders and the saturation of which to do so.
Installing the Tables:
- Run ./evedbtool install to install the base database and all of the latest migrations. (when updating EVEmu, you'll need to do ./evedbtool up to apply any migrations)
- Optional: Run ./evedbtool seed to seed the market with orders to regions you configured in evedb.yaml.
Final Steps:
Open eve-server.xml which if you did everything right, should be in build/dist/etc.
Additionally, make sure log.ini is also available in build/dist/etc
Scroll towards the bottom of the file, to the database connection info, change to settings to match your database credentials.
<database> <host>db</host> <username>evemu</username> <password>evemu</password> <db>evemu</db> <port>3306</port> <ssl>false</ssl> <compress>false</compress> <useSocket>false</useSocket> <autoReconnect>true</autoReconnect> <dbTimeout>2</dbTimeout> <pingTime>10</pingTime> </database>
Next, create the following directories:
build/dist/logs build/dist/image_cache build/dist/server_cache
These directories can optionally be defined in eve-server.xml here:
<files> <logDir>../logs/</logDir> <logSettings>../etc/log.ini</logSettings> <cacheDir>../server_cache/</cacheDir> <imageDir>../image_cache/</imageDir> </files>
Now, configure your image server (must be accessible to clients). If you do not do this, player images, corporation images, and alliance images will not be uploaded.
<net> <port>26000</port> <imageServer>127.0.0.1</imageServer> <imageServerPort>26001</imageServerPort> </net>
- To finally run your EVEmu server, navigate to the build/dist/bin folder and run the eve-server executable.
./eve-server
If you have any issues or concerns please contact us on our Discord or Forums. Once this process is done you now have a fully working EVEmu server.
Client Setup
You must have EVE Online Client 360229 to connect to the server. Access to this client is not provided by the EVEmu Project. Do not ask.
In order to patch the client and connect to the server, perform the following:
(You must have EVE_Online_Installer_360229.exe
, eveonline_360229_1of2.7z
, eveonline_360229_2of2.7z
in the same directory.)
- Double click the
EVE_Online_Installer_360229.exe
file - Go through the setup, This will take a few minutes to complete.
- Once this is done Uncheck the "Run Eve Online" box on the final screen.
- Note: If you do not uncheck this box your client will reach out to CCP and auto update itself to the latest version which is not compatible with the EVEmu server.
Get a copy of the blue patcher here (this is an external GitHub repository not affiliated with the EVEmu Project)
- Copy the
BlueAutoPatcher
file to your EVE Client Directory. This is commonly found underC:\Program Files (x86)\CCP\EVE\bin
- Right click the
BlueAutoPatcher
and click Run as Administrator - Click yes on the prompt.
- Unless you stored EVE in a special directory the default settings should work fine. Click Patch
- Note: Sometimes the above steps will not work. To resolve this copy the
blue.dll
fromC:\Program Files (x86)\CCP\EVE\bin
to your desktop as well as theBlueAutoPatcher
- Run the
BlueAutoPatcher
as administrator. It should auto detect theblue.dll
file on your Desktop. - Click Patch and wait for the file to be patched. It should say success at the bottom and auto close itself.
- Copy the
blue.dll
file back toC:\Program Files (x86)\CCP\EVE\bin
replacing the existing blue.dll file with the patched one. - Your
blue.dll
should now be patched. If that doesn't work you may have downloaded a patch for a newer version. Try downloading the specific exe for 360229 from here.
- Note: Sometimes the above steps will not work. To resolve this copy the
- Go back a directory to the EVE directory and edit your
common.ini
file. Replace the linecryptoPack=CryptoAPI
withcryptoPack=Placebo
- Save your
common.ini
file and close it. - Then edit the
start.ini
file by replacingserver=Tranquility
withserver=<your_server_ip_or_hostname_here>
- Save the
start.ini
file and close it. - Navigate to your desktop. Here should be a Icon named
EVE
- Right click this icon and click properties.
- Edit the Target box to be
"C:\Program Files (x86)\CCP\EVE\bin\ExeFile.exe"
- Note: This is assuming that you haven't changed the default installation directory
- Click
Apply
and thenOkay
Your client is now ready to run.
NOTE: Do NOT run the Client from the icon you get after installation. Change it to run the /bin/exefile.exe instead of the eve.exe or you will get the launcher and that will attempt to contact CCP and automatically update the client.
Test and Report!
Yes! We know there are bugs and missing features!
Notice: There are many things partially implemented. These are not fully working and will have and cause errors. Don't worry. The EVEmu development team is slowly fully implementing these features as testing happens. To get these features implemented faster please test and open issues to help the developers fix bugs.
See Next Steps to learn how to setup your market, and how to debug your build.
Check out our current project status to see a list of known working and missing/broken features of the EVE Online experience.
You can request to be part of the Testers Group. Just head into our IRC channel and get to know some of them, request a forum account and start testing against the Project Status.
See this article for specific information on how to go about testing and creating reports and submitting bug/feature reports on our Github project page.