Old Wiki:Category Escalation To Inferno

From EVEmu Wiki
Jump to navigation Jump to search

The EVEmu project is a developing EVE Online server suite and as yet does not support most features offered in the game. It is compatible with Escalation v1.0.2 build 365966 client.

THIS RELEASE IS A WORK IN PROGRESS AND HAS JUST BEGUN THE TESTING PHASES FOR COMPATABILITY WITH CURRENT EVEmu CRUCIBLE CODE BASE.
THIS PAGE DOCUMENTATION WAS JUST COPIED OVER FROM CRUCIBLE AND NEEDS TO BE UPDATED AS THE TESTING PROGRESSES.

EVEmu is an educational project. This means, our primary interest is to learn and teach us and our users more about C++ project development in a large scale. Our software is not intended for running public servers, and we do not support that. We are not responsible for what others do with the source code downloaded from this project.

INFORMATION FOR LINUX: Currently it's not possible to build it under Linux. This will be fixed soon.

Contents

Getting the Client


While Crucible is still available from CCP, you can go to CCP's Offline Installer page to get updated clients' full installers, then you can modify those three links to get back versions of Crucible by just substituting the six digit build version for the version you want. We believe that CCP has cut off earlier released full installers, so you won't be able to get them anymore.

Grab Crucible builds whenever they come out because at some point, we will FREEZE evemu_crucible on a specific Crucible build!

Source Code

We currently have transitioned to GitHub and have moved to Git SCM.

(There are no binaries for the server provided, you want it, you build it from the source)

Server setup

There are 4 steps to get running the Server:

  1. Getting the source code
  2. Compiling with CMake
  3. Database Setup
  4. Server Configuration

Getting the source code

The best Git primer we've seen is a 1hr 40min video series found here

You need a Git client in order to download the source. Windows users can download SmartGit, Linux users need to install the respective package (usually git).

If you prefer to use Git via CMD, here is a good tutorial on how to do it. Git-Linux Git-Windows

NOTE: Use Git to pull down the source, I would recommend if you want to develop, create a Github account. Then you can fork from the main branch and develop from there.

Windows

Please load Smartgit and follow the on screen instructions to pull down the source from github.

Linux

You can use the gui from Linux or CMD Type following to the terminal:

$ mkdir ~/path/to/evemu/source
$ cd ~/path/to/evemu/source Changes the current working directory to your newly created directory
$ git initSets up the necessary Git files
Initialized empty Git repository in /path/to/evemu/source/.git/
$ touch README
$ git clone https://github.com/evemuproject/evemu_crucible.git

Compiling with CMake

EVEmu can be built using CMake: a tool designed to ease the whole process of compiling on various platforms. You can find further information about it on the homepage; here we'll concentrate only to how to use it to build EVEmu.

Getting the dependencies

Windows

Install: CMake, Git and Visual Studio. Extract: zlib, mysql-noinstall and boost somewhere convenient, but not in your git repository. Move: Content of extracted files to C:\evemu\zlib and C:\evemu\mysql respectably.

WARNING: Don't move zlib-1.2.5 into C:\evemu\zlib. Only the contents of zlib-1.2.5. Same with MySql and boost.

Linux

  • cmake
  • git
  • make
  • g++
  • zlib, zlib-dev
  • libmysqlclient, libmysqlclient-dev
  • boost-build, libboost-dev

NOTE: Just search your distro's repository for similarly named packages and install them.

Running CMake

WARNING: Do NOT use SPACES in any part of your path to the EVEmu source code or any of its dependencies (libraries like boost, mysql, zlib, etc). Any spaces in the path will cause MASSIVE errors when you go to compile the software in your compiler. YOU HAVE BEEN WARNED!!

Windows

Create directory C:\evemu\build.

Go to the directory where you have installed CMake, there should be subdirectory bin. Go in there and run cmake-gui.exe. In the new window in the upper part click Browse source and pick C:\evemu\source, then click Browse build and pick C:\evemu\build. After that click Configure in the lower part. Another dialog pops up, asking you to choose compilers and a generator. Choose Visual Studio 9 2008 or Visual Studio 10 2010 depending on which version you wish to use and have installed, then Use default native compilers and press Finish.

CMake starts configuring your build, but it'll fail, because you haven't set several CMake variables yet. For each of the rows below, click the button Add Entry in the upper part, fill in the corresponding editboxes and click OK:

Choose advance tab in cmake, The very first line should be Boost_include_DIR. Please update it to your path for Boost.

Name: CMAKE_SYSTEM_INCLUDE_PATH Type: PATH Value: C:\evemu\mysql\include;C:\evemu\zlib 
Name: CMAKE_SYSTEM_LIBRARY_PATH Type: PATH Value: C:\evemu\mysql\lib\opt 
Name: Boost_INCLUDE_DIR Type: PATH Value: C:\evemu\boost 

Now click Configure again and it should be fine. After configuration is done, click Generate and close the window.

Finally, you can now open the EVEmu server solution in Visual Studio. Just make sure to open it in the same version of Visual Studio that you told CMake to use when you setup the CMake build.

Linux

Type:

mkdir path/to/evemu/build
cd path/to/evemu/build
cmake path/to/evemu/source

If you want to configure the build manually, add -i flag:

cmake -i path/to/evemu/source

This is particularly useful e.g. when you want to build a Debug binary.

Compilation

Windows

Browse to C:\evemu\build, there should be file evemu.sln. Double-click it and Visual Studio opens up. You can set it to two modes, 'Debug' or 'Release'. Either work, but the size of the exe file is bigger on debug but slightly more stable. In the left part, right-click Solution evemu and click Build solution. Compilation should start.

Linux

Type:

cd path/to/evemu/build
make

If you want to make use of a multicore CPU, specify number of cores with -j option. For example, if you had quad-core CPU, you'd type:

make -j4

Debugging

These instructions will help you surmount the common problems when setting up your system to debug EVEmu server code.

Windows

  1. Open the evemu project in Visual Studio.
  2. To do FULL Rebuilds of entire project, select ALL_BUILD at the top of the list in Solution Explorer, then either hit Ctrl+Alt+F7 key or click Build -> Rebuild Solution from the menu bar.
  3. To compile sub-projects by themselves, such as eve-server, then select that sub-project in Solution Explorer, then hit F7 for a Build or Ctrl+Alt+F7 for a Rebuild or access either from the Build menu on the menu bar.
  4. To set the project for Debugging, find the drop down box on the toolbar that is either going to have Release orDebug inside. If it says Debug you are good to go, just to a FULL rebuild of the whole project. If it saysRelease, click on it then select Debug, then do a FULL rebuild of the whole project.
  5. To RUN eve-server after you have built it under Debug, follow these steps:
    1. Right-click on eve-server in the Solution Explorer and select Properties
    2. Expand Configuration Properties and click Debugging
    3. Put the text Debug in the field called Working Directory, then click the OK button
    4. Now, navigate to your server project source root directory, then drill down to this sub-folder: build\src\eve-server
    5. Make a new folder called etc and put your eve-server.xml file in that new etc folder. You can copy and modify the provided example eve-server.xml found inside the /utils subdirectory off the root of the source tree.
    6. Back in Visual Studio, right click on eve-server again in the Solution Explorer and select Set as StartUp Project, the eve-server tree label will now be bold to indicate this change
    7. You can now hit F5 to execute the debug build .exe or click Debug -> Start Debugging from the menu bar.

Linux

Sorry, need to be written

If you want to REBUILD your source code

Whenever you update your source code working tree from the github repository, add files to the project (which requires adding them to the CMakeLists.txt files), or change one of the .xmlp files found in /src/eve-common/packets/xmlp, you MUST do a full REBUILD of your source code to ensure that all changes and new files are made available to the compiler. Here's how you do that:

REBUILD source: This is simply accomplished by closing Visual Studio, opening CMake, clicking Configure twice, then Generate once, and finally opening Visual Studio again. Now, you need to right-click on the ALL_BUILD project, and click Rebuild. This will rebuild your entire source code from scratch using any new files or modified packet xmlp files that were added/modified by either you or whomever pushed changes to the github repository that you just pulled down.

Database Installation Guide

NOTE: This guide assumes directory structure created in compiling with cmake guide.

Required Software

  • MySQL Server 5.1 (It's recommend downloading the Windows Essentials installer, as it is all that is needed)
  • Crucible v1.1 Official DB dump
    • As of [2012-03-24], CCP's most recent release of the Database Dump is Crucible 1.1 build 334471, therefore we use this

Database Setup

Download and install the latest stable version of MySQL 5.1 from the link above.

Extract the dowloaded database dump to directory C:\evemu\source\sql. Browse into C:\evemu\source\sql\utils.

If you are on Windows: In the /sql/utils/ directory, Execute merge-ofic-updates.bat.

If you are on Linux: In the /sql/utils/ directory, Execute merge-ofic-updates.sh.

This should create new file called ofic-updates.sql in parent directory sql.

Now, you'll have these .sql files in the /sql directory:

  • cru11-mysql5-innoDB-v1.sql
  • evemu_dynamic-dump.sql
  • evemu_static-dump.sql
  • ofic-updates.sql
  • prime_db.sql
  • ./evemu-updates/liveupdates.sql

NOTE: cru11-mysql5-innoDB-v1.sql is the biggest sql and takes the longest to write into the database, over 460 MB import.

Data Import

IMPORTANT: Paths should use / instead of \

Click Start -> All Programs -> MySQL -> MySQL Server 5.1 then MySQL Command Line Client. The MySQL Command Line Client will open, you will need to enter your MySQL database root password.

OR you may run a command prompt from the /sql directory and run mysql in that prompt like this:

C:\evemu\source\sql> mysql -u <username> -p

where <username> is your mysql database username, then type the password and hit enter. You will see a "mysql>" prompt, now you can create database and source the sql files using instructions below.

You will now need to create the EVEmu database, to do this type at the mysql command prompt:

create database evemu;

Now hit enter, it should tell you that was successful by saying:

Query OK, 1 row affected.

After each query is completed it will display mysql> - at this point simply run the next one.

Automated SQL Setup

NOTE: It is highly recommended to run the single "evemu_database_setup.sql" file, which contains the sql queries in the list below, however, you first need to copy the "cru11-mysql5-innoDB-v1.sql" file into the /sql dir of the source, where the other sql files are located, then run the following shorter sequence of mysql commands:

use evemu;
source C:/evemu/source/sql/evemu_setup_database.sql;

If this completes without errors, your database is completely setup. Now, proceed to "Final Checking of Database Integrity".

Manual Execution of each SQL piece

RECOMMENDED ONLY FOR ADVANCED USERS AND DEVELOPERS. IF YOU ARE NEW, USE THE INSTRUCTIONS ABOVE UNDER "Automated SQL Setup"

Now to import the actual data... to do this you'll need to use the following queries (each line is a separate query - don't execute them all at once!):

use evemu;
source C:/evemu/source/sql/cru11-mysql5-innoDB-v1.sql;
source C:/evemu/source/sql/ofic-updates.sql;
source C:/evemu/source/sql/evemu_static-dump.sql;
source C:/evemu/source/sql/evemu_dynamic-dump.sql;
source C:/evemu/source/sql/prime_db.sql;
source C:/evemu/source/sql/liveupdates.sql;

Adding an Account

This is really simple... just type the following:

INSERT INTO account (accountID, accountName, role, password, online, banned) VALUES(NULL, 'your_account_name', 5003499186008621056, 'your_password', 0, 0);

Simply make sure to replace your_account_name and your_password with what you want your username and password to be!

If you are new to MySQL command line, you can try using Navicat Lite http://www.wizdownloads.com/download/Windows/navicat-lite/ it has an easy to use interface.

If you have to REBUILD your Database

If you somehow corrupt your database or the server does it as a result of a crash or wrong SQL query in the code, or you need to rebuild it due to development actions taken that modified SQL files found in the source's /sql directory, here's what we mean by "REBUILD":

REBUILD database: This is simply "dropping" the entire evemu database in mysql, such that the database is completely deleted, as in, the database name is no longer visible or accessible. Then, the database is built again from scratch by first creating a new database with the name you used before, switching to that database and running the "evemu_setup_database.sql" file on it. So, this basically means that you proceed directly to the "Data Import" section above on this page AFTER you have DROPPED your complete database from MySQL either using a MySQL client to do it (phpmyadmin, navicat, MySQL Workbench, etc) or by using the mysql command line as follows:

mysql> drop database evemu;

WARNING: MySQL does NOT prompt you on the command line, when you hit enter, it's too late, no going back. So, if you NEED to backup your database, do an export of the whole thing first.

Server Configuration

NOTE: This guide assumes directory structure created in Compiling with CMake guide.

To get the server up and running correctly, you will need to put various files in the correct places, and make modifications to some of them.

Directory Setup

  1. Browse to C:\evemu, create the folders bin, etc, log and server_cache
  2. Copy eve-server.exe from C:\evemu\build\src\eve-server to C:\evemu\bin
  3. Copy libmysql.dll from C:\evemu\mysql\lib\opt to C:\evemu\bin
  4. Copy eve-server.xml from C:\evemu\source\utils to C:\evemu\etc.

File Setup

Browse to C:\evemu\log and create empty text file named eve-server.log. Browse to C:\evemu\etc and create empty text file named log.ini OR use the sample log.ini file in the source code. After that go to C:\evemu\etc and open eve-server.xml in your favourite text editor, You will need to change 2 sets of setting(seperated by <> tags)(there are many optional settings to mess around, if you know what you are getting your hands into).

Remember: Every set up is different so use your own setting and don't copy and paste!

We will assume you have followed the previous step of setting up the database and we will go ahead and show an example of the needed changes:

Database Tag Changes

Default:

<database>
 <host>127.0.0.1</host>
 <username>eve</username>
 <password>eve</password>
 <db>eve</db>
 <!--<port>3306</port>-->
</database>

Example:

<database>
 <host>127.0.0.1</host>
 <username>root</username>
 <password>password</password>
 <db>evemu</db>
 <!--<port>3306</port>-->
</database>

NOTE: You will need to insert your own MySQL username and password

NOTE: Please make sure a password is set or client will stop after trying to connect

Net Tag Changes

Default:

<net>
    <!-- <port>26000</port> -->
    <!-- <imageServerPort>26001</imageServerPort> -->
    <!-- <imageServer>localhost</imageServer> -->
    <!-- <apiServerPort>26002</apiServerPort> -->
    <!-- <apiServer>localhost</apiServer> -->
</net>

Example(Must be 26000):

<net>
    <port>26000</port>
    <imageServerPort>26001</imageServerPort>
    <imageServer>localhost</imageServer>
    <apiServerPort>26002</apiServerPort>
    <apiServer>localhost</apiServer>
</net>

Files Tag Changes

Default:

<files>
    <!-- <logDir>../log/</logDir> -->
    <!-- <logSettings>../etc/log.ini</logSettings> -->
    <!-- <cacheDir></cacheDir> -->
</files>

Example:

<files>
    <logDir>../log/</logDir>
    <logSettings>../etc/log.ini</logSettings>
    <cacheDir>../server_cache</cacheDir>
</files>

The ../log/eve-server.log will contain the text from the eve-server console window. The ../etc/log.ini file contains settings to control how eve-server outputs messages to the log. We need more definition as to what goes in this file. Finally, the../server_cache directory is where the server will create files for all cached objects when the server starts up.

NOTE: If any cached database tables change during server down-time, you MUST delete ALL cache files in this directory BEFORE starting up the server again. The server does not check to see if the tables changed.

Keeping The Server Updated

The Evemu core updates very often. To keep your server up to date with the current Evemu revision; you must perform a simple core update and recompile.

  1. Use your favorite git gui or the git command line to keep your source up to date
  2. Re-run CMake just in case new files were added or old files were removed.
  3. You must now rebuild you solution to actually see the changes in game.
  4. Run the "evemu" sln with C++ and rebuild the solution MUST BE SET ON 'DEBUG' or 'RELEASE' (the question of your choise - for now is just a size of exe file on exit. No any stability or workability differences for now,except of some crashes,caused by svcerror and beancount errors on release binary.

Finishing Notes

Windows

Then you should be able to run eve-server.exe to start the server. The server log will be stored in C:\evemu\log\eve-server.log if you need it. Wait for the message : "Init Done" before initiating any action associated with the server(Even opening a client). See here for an old forum thread that discusses eve-server restart scripts in the cases where the server crashes, somewhere down the page is a script for windows.

Linux

You can just run the eve-server executable in your build directory, or you can use a script to run it, even to restart it if it ever crashes. Here is a forum thread that lists several different scripts on how the eve-server can be restarted if it crashes.

FAQ

You will find it under Crucible FAQ

Crucible Development

Information will be soon here.

Crucible Known Issues

Undocking

There are some cases when the location is not stored in the Data Base and when you try to undock it will give a DB error in server log.

  • Workaround - Just select another station from the top left menu and transolacate there (tr command in right click menu) or choose another system from the map and do the same.

Right click on ship not responding

  • Workaround - Just undock and re-dock and this issue will go away.

This category currently contains no pages or media.