New Users Guide

From EVEmu Wiki
Jump to navigation Jump to search

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:

  • %devRoot% is where the development files are located.
  • These may be the same location but that is not necessary.
  1. Open a terminal and go to the directory %devRoot%/evemu_Crucible/sql/
  2. 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
  1. Open your MySQL shell via mysql -u root -p and input the following:
    1. 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';
  1. 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
  2. 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:

  1. 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)
  2. 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>
  1. 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.)

  1. Double click the EVE_Online_Installer_360229.exe file
  2. Go through the setup, This will take a few minutes to complete.
  3. Once this is done Uncheck the "Run Eve Online" box on the final screen.
    1. 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)

  1. Copy the BlueAutoPatcher file to your EVE Client Directory. This is commonly found under C:\Program Files (x86)\CCP\EVE\bin
  2. Right click the BlueAutoPatcher and click Run as Administrator
  3. Click yes on the prompt.
  4. Unless you stored EVE in a special directory the default settings should work fine. Click Patch
    1. Note: Sometimes the above steps will not work. To resolve this copy the blue.dll from C:\Program Files (x86)\CCP\EVE\bin to your desktop as well as the BlueAutoPatcher
    2. Run the BlueAutoPatcher as administrator. It should auto detect the blue.dll file on your Desktop.
    3. Click Patch and wait for the file to be patched. It should say success at the bottom and auto close itself.
    4. Copy the blue.dll file back to C:\Program Files (x86)\CCP\EVE\bin replacing the existing blue.dll file with the patched one.
    5. 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.
  5. Go back a directory to the EVE directory and edit your common.ini file. Replace the line cryptoPack=CryptoAPI with cryptoPack=Placebo
  6. Save your common.ini file and close it.
  7. Then edit the start.ini file by replacing server=Tranquility with server=<your_server_ip_or_hostname_here>
  8. Save the start.ini file and close it.
  9. Navigate to your desktop. Here should be a Icon named EVE
  10. Right click this icon and click properties.
  11. Edit the Target box to be "C:\Program Files (x86)\CCP\EVE\bin\ExeFile.exe"
    1. Note: This is assuming that you haven't changed the default installation directory
  12. Click Apply and then Okay

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.