Skip to content

Ground Up Linux Install


It is recommended to use the Linux-Server install** **in nearly all cases, this is for advanced users/developers. Note the Linux-Server install above DOES include source code building, so it can do all steps below.

ubuntu apt-get install requirements. (you can refer to for other environment installs

apt-get -y install --no-install-recommends build-essential gcc-5 g++-5 libtool cmake curl debconf-utils  git git-core libio-stringy-perl liblua5.1  liblua5.1-dev libluabind-dev libmysql++  libperl-dev libperl5i-perl libjson-perl libsodium-dev  libmysqlclient-dev libssl-dev lua5.1  minizip make mariadb-client locales  nano open-vm-tools unzip uuid-dev iputils-ping  zlibc wget

ubuntu libsodium install (needs 18)

wget -O /tmp/libsodium-dev.deb
wget -O /tmp/libsodium18.deb
dpkg -i /tmp/libsodium*.deb
rm -f /tmp/libsodium-dev.deb
rm -f /tmp/libsodium18.deb

you need to install and configure mariadb or mysql yourself. I didn't include this step, since with a ground up install, I assume you have your own means to provide it.

These environment variables are set just to simplify snippets in the future. Feel free to adjust to your preferred locations

export EMUBUILDDIR=~/eqemu/src/build/bin
export EMUSRCDIR=~/eqemu/src

Clone eqemu's source code from github

git clone --recurse-submodules $EMUSRCDIR

configure eqemu's source code to generate files into the build dir

mkdir -p $EMUSRCDIR/build
cd $EMUSRCDIR/build

compile eqemu's source code


verify binaries were built

> ~/eqemu/build/bin/world
> ~/eqemu/build/bin/zone

download eqemu_config.json (edit this file to your environment, especially DB settings)

wget --no-check-certificate -O eqemu_config.json

prime database (This step can at times cause cmake to break, just to warn, since linux_login_server_setup likes to overwrite the cmake configuration. Remember remove CMakeCache.txt and rerun cmake to repair if this happens)

./ source_peq_db 
./ check_db_updates 
./ linux_login_server_setup

edit your login.json file to connect to your DB

get utility scripts, opcodes, endless other things

./ fetch_utility_scripts
./ opcodes
./ maps #this is going to take a while, ~2 gig DL
./ opcodes
./ plugins
./ quests
./ lua_modules

I suggest at this point going into your $EQEMUBUILDDIR and running ./shared_memory, ./world, ./zone, ./loginserver and reviewing any errors it reports. If no errors, you can run the shell script instead from now on


This likely is STILL missing steps, just to warn.