Most recent edit on 2012-07-22 00:15:54 by BrainDisconnect
Additions:
For connecting to a Linux OS remotely from a Windows machine via SSH use Putty, SecureCRT, etc. For transferring files via SFTP or SCP, use WinSCP, PuttySCP or PuttySFTP, SecureCRT, SecureFX, etc.
Deletions:
For connecting to a Linux OS remotely from a Windows machine via SSH and SFTP, use Putty, SecureCRT, etc. For transferring files, use WinSCP, PuttySCP or PuttySFTP, SecureCRT, SecureFX, etc..
Edited on 2012-07-21 23:52:04 by BrainDisconnect
Additions:
For connecting to a Linux OS remotely from a Windows machine via SSH and SFTP, use Putty, SecureCRT, etc. For transferring files, use WinSCP, PuttySCP or PuttySFTP, SecureCRT, SecureFX, etc..
Edited on 2012-02-06 04:46:25 by BrainDisconnect
Additions:
You can create this on a bare metal machine by skipping "Creating the VM" and "VMware Tools Install" steps.
This will take about 1.5-3 hours depending on your skill level with Linux and the power of the host machine.
Deletions:
You can also create this on a bare metal machine by skipping "Creating the VM" and "VMware Tools Install" steps.
This will take about 2-4 hours depending on your skill level with Linux and the power of the host machine.
Edited on 2012-02-06 04:42:08 by BrainDisconnect
Additions:
1) Run this command and change 2083 to whatever version your database rev number. My version was 2083.
ls -la [0-9]* | tr -s " " | cut -d " " -f9 | sort -n | awk -F'_' '$1 >= 2083' | sed 's/^/source /' >> sourcesql
Deletions:
1) If you compiled bots run these commands in order: This step is no longer needed with or without bots.
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql++
++ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
Run this command and change 2082 to whatever version your database rev number is minus 1. My version was 2083.
ls -la [0-9]* | tr -s " " | cut -d " " -f9 | sort -n | awk -F'_' '$1 > 2082' | sed 's/^/source /' >> sourcesql
Edited on 2012-02-06 04:34:05 by BrainDisconnect
Additions:
1) If you compiled bots run these commands in order: This step is no longer needed with or without bots.
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql++
++ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
Deletions:
1) If you compiled bots run these commands in order: This part is no longer needed with or without bots.
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql++
++ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
Edited on 2012-02-06 04:32:04 by BrainDisconnect
Additions:
1) If you compiled bots run these commands in order: This part is no longer needed with or without bots.
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql++
++ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
Deletions:
1) If you compiled bots run these commands in order:
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql
ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
Edited on 2012-02-06 02:09:22 by BrainDisconnect
Additions:
Copy Spell Files
Deletions:
Copy Spell Files
Edited on 2012-02-06 02:07:55 by BrainDisconnect
Additions:
Copy Spell Files
Copy your spells files from your EverQuest game folder to your eqemu folder.
spells_en.txt
spells_us.txt
Edited on 2012-01-02 17:01:44 by BrainDisconnect
Additions:
1) Create your start by copying and pasting into your terminal:
- Create your stop by copying and pasting into your terminal:
- Create your persist_world by copying and pasting into your terminal:
Deletions:
1) Create your start, copy and paste into your terminal:
Create your stop file, copy and paste the following into your terminal:
Create the persist_world file, copy and paste the following into your terminal:
Edited on 2012-01-02 08:53:33 by BrainDisconnect
Additions:
You can also create this on a bare metal machine by skipping "Creating the VM" and "VMware Tools Install" steps.
Deletions:
You can also create this on a bare metal machine by skipping "Creating the VM" and "VMware Tools" Install steps.
Edited on 2012-01-02 08:52:24 by BrainDisconnect
Additions:
Deletions:
Edited on 2012-01-02 08:52:01 by BrainDisconnect
Additions:
You can use either vSphere 4.x or 5.x.
You can also create this on a bare metal machine by skipping "Creating the VM" and "VMware Tools" Install steps.
Deletions:
You can skip the VMware vSphere steps (Creating the VM and VMware Tools Install) to create this on a bare metal machine.
Edited on 2012-01-02 08:47:23 by BrainDisconnect
Additions:
Starting and Stopping Your New Server
Thats it, startup your server and login with your player account. It is best to use the eqemu account to start the server.
Starting
su - eqemu
/home/eqemu/server/start
Stopping
su - eqemu
/home/eqemu/server/stop
Deletions:
Thats it, startup your server and login with your player account.
Edited on 2012-01-02 08:39:39 by BrainDisconnect
Additions:
Setting Up Your Accounts
This assumes that you do not already have both Client and World Server accounts setup, you can skip this section if you do.
Getting your Client Login Account
Getting your Server Login Account
Create a static DNS entry ahead of time for your new EQEmu VM. If you do not have a DNS server of your own you can edit the host files as needed.
Deletions:
Setting Up Your Accounts
This assumes that you do not already have accounts setup, you can skip this section if you do.
Getting your Client Login Account
Getting your Server Login Account
Create a static DNS entry ahead of time for your new EQEmu VM.
Edited on 2012-01-02 08:36:10 by BrainDisconnect
Additions:
Setting Up Your Accounts
This assumes that you do not already have accounts setup, you can skip this section if you do.
Getting your Client Login Account
- Go to the Main Page of EqEmu http://www.eqemulator.org∞
- Click on Create New LS Account
- Create your Client account. The username and password is needed for logging into the server.
Getting your Server Login Account
- Go to the Main Page of EqEmu http://www.eqemulator.org∞
Deletions:
Getting your Login Server Account
Go to the Main Page of EqEmu http://www.eqemulator.org/∞
Edited on 2012-01-02 08:24:20 by BrainDisconnect
Additions:
Thanks to all the posters of linux and windows guides where a lot of this info came from.
I made some custom one line scripts as well as modified some of the steps to make the process a little easier.
You can skip the VMware vSphere steps (Creating the VM and VMware Tools Install) to create this on a bare metal machine.
This will take about 2-4 hours depending on your skill level with Linux and the power of the host machine.
- Login as root through the console
Deletions:
Thanks to all the posters of linux and windows guide where a lot of this info came from.
I made some custom one line scripts to make the process a little easier.
You can skip the VMware vSphere steps and create this on a bare metal machine.
- Login as root through VM console
Edited on 2012-01-02 08:19:07 by BrainDisconnect
Additions:
This guide's forum post is here:
http://www.eqemulator.org/forums/showthread.php?t=34631∞
Deletions:
This guide's forum post is here: http://www.eqemulator.org/forums/showthread.php?t=34631∞
Edited on 2012-01-02 08:18:49 by BrainDisconnect
Additions:
This guide's forum post is here: http://www.eqemulator.org/forums/showthread.php?t=34631∞
Edited on 2012-01-02 08:17:29 by BrainDisconnect
Additions:
Oldest known version of this page was edited on 2012-01-02 08:16:32 by BrainDisconnect [1/2/2012]
Page view:
Thanks to all the posters of linux and windows guide where a lot of this info came from.
Much came from Sikkun's guide "Debian Linux Install Guide 5/28/2011"
I made some custom one line scripts to make the process a little easier.
You can skip the VMware vSphere steps and create this on a bare metal machine.
Preparing to Build a New Server
Getting your Login Server Account
- Go to the Main Page of EqEmu http://www.eqemulator.org/∞
- Click on the Loginserver Accounts link.
- Click on Create New Worldserver Account
- Create your Server account. The username and password is needed for your config file.
Get the Debian 6 ISO
The revision at the time of this guide was 6.0.3
- Download the Debian 6 i386 netinst CD image from http://www.debian.org/releases/stable/debian-installer/∞
- Upload the ISO to your ESX host.
Static DNS Entry
Create a static DNS entry ahead of time for your new EQEmu VM.
Router Setup
Setup your router to forward the following protocols and ports to your server:
- UDP 7000-7100
- TCP & UDP 9000
Creating the VM
- Right click your ESX host and create a new VM
- Use the Typical option
- enter the host name
- Select desired datastore
- Choose Linux and select Debian 6 (32-bit)
- You need one NIC with E1000 (Debian won't recognize the VMXNET3 adapter)
- Change storage to 100GB with Thin Provision
- Select Edit the virtual machine settings before creating option
- Change memory to at least 6GB
- Change CPU to at least 2 virtual sockets and 2 cores per socket
- Point then DVD to your Debian 6 32 bit ISO and select connect at power on
- Remove the floppy drive
- Click finish and power on VM when the process completes.
OS Installation
Installing the OS
Right click your VM and open a console or click on the console tab
- Choose Install
- Choose your language
- Choose your country
- Choose your keyboard layout
- Enter host name
- Enter domain
- Enter root password
- Enter full name for user; EQEmu
- Enter username; eqemu
- password for eqemu
- Choose your timezone
- hit return on partioning
- hit return on disk to partition
- hit return on finish partitioning
- Write changes to disk? tab to yes and hit return (this took a few minutes)
- Wait for it to install the base system...
- Select your country
- Select the default which should be ftp.<country code>.debian.org
- Configure your proxy if you need to
- Select no on the package survey
- Package Install
- De-select the Graphical Desktop Environment
- Select SSH Server
- Select Standard system utilities
- Hit enter on grub loader; yes
- Hit enter on fishing the installation; Continue
Post Install
- Login as root through VM console
- Verify that your interface is static
more /etc/networks/interfaces
- If the iface eth0 says iface eth0 init dhcp, configure it for static
- Update apt DB
apt-get update
- Install packages for Higher Memory Support, VMware Tools, and EQEmu
apt-get -y install linux-image-2.6.32-5-686-bigmem linux-headers-2.6.32-5-686-bigmem make
- reboot once its done
VMware Tools Install
- Right click your VM, select Guest, and then Install/Upgrade VMware Tools
- Login as root to your VM via SSH
- Mount your cdrom:
mount /dev/cdrom /mnt
- Copy the tools to root's home directory, extract, and run (change the version to match):
cp /mnt/VMwareTools-<version>.tar.gz ./
tar -zxvf VMwareTools-<version>.tar.gz
./vmware-tools-distrib/vmware-install.pl -d
- Once it has completed, remove the archive and directory:
rm VMwareTools-<version>.tar.gz
rm -rf vmware-tools-distrib
- reboot
EQEmu Installation
Packages for EQEmu
- Login as root to your VM via SSH, from now on everything is done via SSH.
- Install the needed packages.
apt-get -y install gcc g++ make libio-stringy-perl libperl-dev unzip mysql-server subversion libmysqlclient-dev
- Enter a password for MySQL root
Getting the Sources
- Su to eqemu
su - eqemu
- Create the needed directories:
mkdir eqemu source peq server maps quests
- Grab the SVN's:
svn co http://projecteqemu.googlecode.com/svn/ eqemu
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase peq
svn co http://projecteqquests.googlecode.com/svn/trunk/quests quests
svn co http://eqemu-maps.googlecode.com/svn/trunk/ maps
Compile EQEmu
Still as eqemu
- Change to the source dir and copy the EQEmuServer to your source dir
cd source
cp -r ../eqemu/trunk/EQEmuServer/* ./
- If you want Bots, now is the time:
- Edit zone/makefile and add -DBOTS to DFLAGS.
- Edit zone/makefile.common and add both bot.o and botspellsai.o
- Edit world/makefile and add -DBOTS to DFLAGS.
- Compile the code
make
You will see many warnings... don't panic...
If make stops with an error, then you can panic. Trace the steps and correct what you missed.
Copying and Linking Files to the server Directory
- Go back to root:
exit
- Copy libEMuShareMem to lib dir:
cp /home/eqemu/source/EMuShareMem/libEMuShareMem.so /usr/lib/
- edit /etc/sysctl.conf and add a new line with your favorite editor:
kernel.shmmax = 134217728
- Save, exit, and chmod
chmod 444 /etc/sysctl.conf
- Execute sysctl to effect the changes
/sbin/sysctl -p
- Su back to eqemu
su - eqemu
- Change to server dir, copy and create links
cd server
cp -r ../source/utils/defaults/* ./
cp ../source/utils/patch_* ./
cp ../source/utils/opcodes.conf ./
cp ../source/utils/cleanipc ./
cp ../source/world/world ./
cp ../source/zone/zone ./
cp ../source/eqlaunch/eqlaunch ./
rm -rf Maps plugins quests
ln -s ../maps Maps
ln -s ../quests/plugins plugins
ln -s ../quests quests
Database
Database Setup
Still as eqemu
- Unzip the database changing the rev number to yours:
cd /home/eqemu/peq
gunzip peqdb_rev<rev number>.sql.gz
Remember the rev number... You are going to need it.
- Create a file called sourceme putting the following lines in changing the rev number to match your file remove the bots line if you did not compile bots:
create database peq;
use peq
source peqdb_rev<rev number>.sql
source load_player.sql
source load_bots.sql
exit
- Then run:
mysql -u root -p < sourceme
Take a break. This is going to take a few minutes... This is why the few commands were scripted
Database Patching
Ok.. time for the last part of the database...
Still as eqemu
- Change to the source sql directory:
cd /home/eqemu/source/utils/sql/svn
- Create a new filed called sourcesql and add use peq to it:
echo "use peq" > sourcesql
- If you compiled bots run these commands in order:
ls -la bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' | sort -r >> sourcesql
ls -la [0-9]*bot*.sql | tr -s " " | cut -d " " -f9 | sort -n | sed 's/^/source /' >> sourcesql
- Run this command and change 2082 to whatever version your database rev number is minus 1. My version was 2083.
ls -la [0-9]* | tr -s " " | cut -d " " -f9 | sort -n | awk -F'_' '$1 > 2082' | sed 's/^/source /' >> sourcesql
- Remove the duplicates and create the sourceme file:
cat sourcesql | uniq > sourceme
- Source it in with mysql:
mysql -u root -p < sourceme
If you get errors, search the forums to see if you need to correct them or not.
EQEmu Setup
Edit Your Config file
Still as eqemu
- Change to the server directory, rename to default config, and copy the full config
cd /home/eqemu/server
mv eqemu_config.xml.bak
cp eqemu_config.xml.full eqemu_config.xml
- Edit eqemu_config.xml with your favorite editor
- In the world section change the longname and short name to your EQ world name.
- In the world, loginserver section put your loginserver username and password.
- In the world section change the key to a string for your launcher.
- In the zones section change the defaultstatus to 0
- In the database section, change username and password to your mysql credentials.
- In the database section, change db to peq.
- Save and exit
Create your Server start and stop files
Still as eqemu
- Change to your server directory
cd /home/eqemu/server
- Create your start, copy and paste into your terminal:
cat > start << EOD6
#!/bin/bash
# Auto generated by EQEmu Installer v$EQEMU_INSTALLER_VER on $EQEMU_INSTALL_DATE
# Include our configuration.
#source eqemu.conf
#ulimit -c 99999999
# Start the login server.
if [ \$USE_LOGIN_SERVER ]; then
./EQEmuLoginServer 2>&1 > logs/loginserver &
fi
# Remove any shutdown files.
rm -f .zone_shutdown
rm -f .world_shutdown
# Print commands and their arguments as they are executed.
set -x
# Launcher name.
LNAME="zone"
if [ "\$1" = "test" ]; then
LNAME="test"
fi
# Set our library path.
P=`pwd`
export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$P"
# Make sure we have a place to log.
mkdir -p logs 2>&1 > /dev/null
# Clear out old logs, if both are stopped.
if [ ! -e .lock-zones -a ! -e .lock-world ] ; then
for f in logs/eqemu_*.log
do
# Keep the commands_zone log.
if [ "\$f" = "logs/eqemu_commands_zone.log" ]; then
continue;
fi
rm -f \$f
done
fi
# Boot up world.
if [ ! -e .lock-world ] ; then
# Create our lock file.
touch .lock-world
# Determine how to run the world server.
if [ \$USE_PERSIST_WORLD ]; then
./persist_world 2>&1 > logs/world &
else
./world 2>&1 > logs/world &
fi
# wait for shared memory to load
sleep 15
fi
# Start up the official launcher.
if [ ! -e .lock-launcher ]; then
# Create our lock file.
touch .lock-launcher
# Launch!
./eqlaunch \$LNAME 2>&1 > logs/launcher &
fi
# Determine if we should start the chat server.
if [ \$USE_CHAT_SERVER ]; then
./chatserver 2>&1 > logs/chatserver &
fi
# Determine if we should start the mail server.
if [ \$USE_MAIL_SERVER ]; then
./mailserver 2>&1 > logs/mailserver &
fi
EOD6
- Create your stop file, copy and paste the following into your terminal:
cat > stop << EOD7
#!/bin/bash
# Auto generated by EQEmu Installer v$EQEMU_INSTALLER_VER on $EQEMU_INSTALL_DATE
# Include our configuration.
#source eqemu.conf
# Create our shutdown files.
touch .zone_shutdown
touch .world_shutdown
targets="world eqlaunch zone"
# Login Server Check
if [ \$USE_LOGIN_SERVER ]; then
targets="\$targets EQEmuLoginServer"
fi
# Chat Server Check
if [ \$USE_CHAT_SERVER ]; then
targets="\$targets chatserver"
fi
# Mail Server Check
if [ \$USE_MAIL_SERVER ]; then
targets="\$targets mailserver"
fi
killall \$targets
# Small pause here.
sleep 3
# If world/zone/eqlaunch is stuck we'll 'kill -9' them here.
if ps ax | grep -e 'w[o]rld' -e 'z[o]ne' -e 'eq[l]aunch' > /dev/null; then
killall -9 world zone eqlaunch
sleep 2
fi
# Run our IPC cleaning.
./cleanipc
# Remove any lock files.
rm -f .lock-zones .lock-world .lock-login .lock-launcher
EOD7
- Create the persist_world file, copy and paste the following into your terminal:
cat > persist_world << EOD8
#!/bin/bash
#ulimit -c 99999999
while true
do
./world "\$@"
if [ -r ".world_shutdown" ]; then
exit 0
fi
echo `date` " - World crashed." >> crashlog
sleep 2
done
EOD8
- Make start, persist_world, and stop executable:
chmod 750 start
chmod 750 persist_world
chmod 750 stop
Thats it, startup your server and login with your player account.
If you get errors, then you missed something, trace your steps through the guide and fix anything you missed. Otherwise search the forums.
Additional
You can edit your database after you logged in to set your account to server admin, by changing the status to 200 on your account.
mysql -u root -p
use peq
UPDATE account SET status=200 WHERE name='youraccountname';
exit
You can increase the number of zones that can be active at a time, the default is 5;
mysql -u root -p
use peq
UPDATE launcher SET dynamics=5 where name='zone';
exit
It is highly recommended that you harden your Linux VM using iptables and such.
CategoryServer