View Full Version : Linux script and loginserver hash
Xumtiil
02-08-2013, 08:53 AM
http://proskeptic.com/wordpress/?p=5
I'm in the process of adapting this script to incorporate cmake and generally work again on a ubuntu-debian based machine. Post when ready.
I have run into a very peculiar account password issue - I'm playing on my compiled server, I have two accounts with the same password, but one doesnt log in on one location and the other not on the other location.
Turns out the loginserver receives a different hash for the same password - I've tried three machines, of which two XP's and one 7, all three titanium.
Anyone have any idea where to look for this issue?
X.
Xumtiil
02-17-2013, 10:02 PM
Hash issue seems to have vanished, for now. Now all clients are able to log in and the hashes are made the same way.
Script still a work-in-progress, wondering if I should have it install phpmyadmin by default as well, to allow remote database changes more easily. Would that be something you guys would want?
Once it's there, it should be complete to the point you could run it on any Debian or Ubuntu system, and you could get a cheap dedicated server/vps or run your own server with it, just run the script, follow instructions and presto, instant-EQ.
Cheers,
Xumtiil
image
02-18-2013, 04:05 PM
Builds for virtual machines is a good idea. This could help simplify for those who want a linux based server but are not as familiar with linux.
Regarding your password issue, the intention of hashes is that they are unique. A different key can be used for each hash. It seems maybe there was some other issue present you resolved.
Xumtiil
02-18-2013, 09:02 PM
Trying to figure out if it's worth automating cmake with a script, or if I'll just leave it with -i and just paste instructions on what to choose - the problem with the second thing is that it won't take away any of the "OMG what's going on why isn't it working" if zlib or mysql include or any of the other folders aren't automatically found.
Anyone here happen to have a cmake installer script lying around that I could use/mess around with? I'm learning as I go, myself.
X.
joligario
02-18-2013, 09:15 PM
Once you generate the cache in interactive mode, you don't need to do interactive anymore unless you remove the cache.
Xumtiil
02-18-2013, 09:22 PM
Granted, but I'm just trying to make it as easy as possible for the first run of a compilation, for us poor noobs out there :)
Not having to go through an interactive cmake will make a difference.
Xumtiil
02-21-2013, 11:38 AM
Script is done. Server compiles, starts, I'm having someone test the login now.
Adaptable to compile either on 32 or 64 bits Ubuntu or Debian, willing to test and adapt on other OS if you give me some pointers.
Change the initial variables to suit your needs, paste it into a .sh file (eg install_eqemu.sh) make it executable (chmod ugo+x /home/install_eqemu.sh) and run it on your OS and follow the instructions.
Based largely on http://proskeptic.com/wordpress/?p=5 (Tim Little), who provided the base for me to work with, and adapt to the current process.
apt-get install phpmyadmin will allow you to access the database from the outside (with username eqemu and password whatever you put as the eqemupass variable). Make sure to select Apache2 as your webserver. Also looking into shamelessly stealing AxClassic's web interface because it's awesome, but I'll probably PM/ask on the axclassic forums about that.
clear
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="user"
FIRST_ACCT_PW="password"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SMALLEQEMU"
EMU_LONG_NAME="Ship_In_A_Bottle"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing.
# Or autodetect does not work, or you are compiling for a
# different machine.
#
EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#
#
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
#userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake - X.)
#
apt-get -y install subversion gcc g++ cpp libmysqlclient-dev libio-stringy-perl
apt-get -y install cvs zlib-bin zlibc unzip make cmake
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
svn co http://projecteqemu.googlecode.com/svn/trunk/EQEmuServer
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/ allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
#
# Not sure if this next part is is needed...
#
cp /home/eqemu/source/EQEmuServer/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/EQEmuServer/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/EQEmuServer/utils/defaults/worldui.pl /home/eqemu/server/
mkdir /home/eqemu/server/worldui
cp -r /home/eqemu/source/EQEmuServer/utils/defaults/worldui/ /home/eqemu/server/worldui/
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > /home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY '$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb < /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword ) values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN', ServerShortName = 'xSN' WHERE ServerID = 1;" | sed s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/EQEmuServer/utils/defaults/eqemu_config.xml.full eqemu_config.xml
cp /home/eqemu/source/EQEmuServer/utils/defaults/log.ini .
cp /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/login.ini .
cp /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/login_opcodes.conf .
cp /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/EQEmuServer/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS.
#
cd /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/linux/ubuntu-9-10-32/
# cd /home/eqemu/source/EQEmuServer/EQEmuLoginServer/login_util/linux/ubuntu-11-64/
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubt*.zip
cp lib*.* /home/eqemu/source/EQEmuServer/EQEmuLoginServer/
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' leave everything to default except loginserver ON,'
echo ' and BOTS as you prefer ON or OFF. '
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/EQEmuServer/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
read -p "[ Press [ENTER] to continue... ]"
echo '+--------------------------------------------------------------+ '
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/libEMuShareMem.so /home/eqemu/server/libEMuShareMem.so
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver /home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
read -p "[ Press [ENTER] to continue... ]"
echo '+--------------------------------------------------------------+ '
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/login.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/world.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/zones.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >> /home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >> /home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher ' >> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes ' >> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >> /home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, commented for testing - X)
#
#echo '+--------------------------------------------------------------+'
#echo '! Writing db.ini !
#'
#echo '+--------------------------------------------------------------+'
#echo '[Database] ' > /home/eqemu/server/db.ini
#echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
#echo 'user=eqemu ' >> /home/eqemu/server/db.ini
#echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
#echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = 127.0.0.1 " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >> /home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >> /home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >> /home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >> /home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, commented for testing - X)
#
#echo '+--------------------------------------------------------------+ '
#echo '! Writing LoginServer.ini !'
#echo '+--------------------------------------------------------------+ '
#echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
#echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
#echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
#echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
#echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
#echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
#echo 'account= ' >> /home/eqemu/server/LoginServer.ini
#echo 'password= ' >> /home/eqemu/server/LoginServer.ini
#echo ' ' >> /home/eqemu/server/LoginServer.ini
#echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
#echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
#echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
#echo ' ' >> /home/eqemu/server/LoginServer.ini
#echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
#echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
#echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
#echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >> /home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >> /home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >> /home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " > /home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
lerxst2112
02-21-2013, 12:39 PM
You'll probably want to update it to pull the source from git now.
Xumtiil
02-21-2013, 01:08 PM
Done, but it will have to wait until tomorrow before I can verify that it works.
Once I have it verified, I'll post an updated script.
X.
Xumtiil
02-22-2013, 06:29 AM
Git doesn't have the login_util/linux/ folder, which you need to compile the loginserver :/ So either I need to do some patchwork and host the files myself somewhere until they're in git, somehow manage to upload the folder to git myself, or just use subversion and hope it gets updated as well.
X.
lerxst2112
02-22-2013, 06:36 AM
http://code.google.com/p/projecteqemu/downloads/list
Xumtiil
02-22-2013, 09:39 AM
If someone's awake, can they have a stab at connection to the following server:
debian.kludde.net:5998/5999 (depending on client, as always)
user: test
pass: account
Compiled on Debian with the git repositories, I will consider it a success if
A) You can log in (25%)
B) You see the server (50%)
C) You can create a character (75%)
D) You can kill something (97% - something's always broken)
X.
LordAdakos
02-24-2013, 07:21 PM
Any updates, Xumtil?
Is it working, or failing?
Xumtiil
02-25-2013, 07:09 AM
Installs like a charm. Automatically sets up the server, database, source, compiles, it does everything except the dishes.
And then, when you select the server to log into, it just kicks you back to the loginscreen. I'm setting up a new one on Ubuntu to see if it's Debian that's giving me crap, or if there's something else that's fishy - it's hard to find anything wrong in either the installation, compilation or startup logs.
I'll give you SSH access to the machine and/or login info for the server I'm setting up now, if you want to have a look (you can't break anything that I can't fix, so don't be shy :D)
LordAdakos
02-25-2013, 08:05 AM
I'm certainly no expert, but when I tested the script before, the IP address would never resolve correctly. Don't know if that's the case here.
is there an easy way to pull the info from something like www.whatsmyip.com ?
Xumtiil
02-25-2013, 01:52 PM
It tries to pull it from your network config, but the variables section at the start of the script allows you to change it to a default setting. Honestly, I think I'm just going to get rid of the autodetect and just tell you to enter it manually. You should be able to find your IP address, anyway, even if you just use a script to install EQ.
With some patchwork (have some changes to make on the script, again), I got a server up and running at ubuntu.kludde.net. Feel free to try to log in (user test, pwd account), or PM me if you want to have root access to the server to fiddle around with it.
X.
LordAdakos
02-28-2013, 08:58 AM
did you see the changelog update about shared memory?
also, do you have a GIT version I can test out?
I had a few perl errors with ubuntu 12.04 , the first was at the Cmake something about library's then a pathing error about perl library path the first one was populated ok. I re-ran the script but error with mysql password which i think i can correct by uninstalling it.
I'm going to start again from scratch tonight and load perl before I run the script.
Xumtiil
02-28-2013, 09:33 AM
Before you do, use this updated script
Also, re-running the script will give a mysql password error, because the script assumes MYSQL wasn't installed and that the password is empty, so it tries to change it - afterwards, it will use the same password that was set at the start, so it will go through automagically and still reload the database correctly (unless you changed the Mysql password in between the run and the rerun)
Updated script:
clear
#
# GITHUB VERSION, CURRENTLY ALPHA TEST
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="test"
FIRST_ACCT_PW="account"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SCRIPTEDLINUX"
EMU_LONG_NAME="ScriptedLinux"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing,
# autodetect does not work, or you are compiling for a
# different machine.
#
EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#
#
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
# userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake, git - X.)
# If you are getting problems at this point, check your sources.list
# (Usually at /etc/apt/sources.list - make sure you have security in there)
#
apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl
apt-get -y install zlib-bin zlibc unzip make cmake subversion
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
# Added git repository - X.
#
git clone git://github.com/EQEmu/Server.git
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/ allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
echo '+--------------------------------------------------------------+ '
echo "! Copying some files around, we're still in business !"
echo '+--------------------------------------------------------------+ '
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
cp /home/eqemu/source/Server/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/worldui.pl /home/eqemu/server/
# WorldUI currently not in git repo - X.
#
# mkdir /home/eqemu/server/worldui
# cp -r /home/eqemu/source/Server/utils/defaults/worldui/ /home/eqemu/server/worldui/
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > /home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY '$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb < /home/eqemu/source/Server/loginserver/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword ) values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN', ServerShortName = 'xSN' WHERE ServerID = 1;" | sed s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/Server/utils/defaults/eqemu_config.xml.full eqemu_config.xml
cp /home/eqemu/source/Server/utils/defaults/log.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes.conf .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/Server/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS. (Different process for GIT-based compile - X)
#
cd /home/eqemu/source/Server/dependencies
# 32 bits
wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x86.zip
# 64 bits
# wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x64.zip
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubu*.zip
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' leave everything to default except loginserver ON,'
echo ' and BOTS as you prefer ON or OFF. '
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/Server/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes (tested with make -j, craps out. Won't suggest it - X)
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/libEMuShareMem.so /home/eqemu/server/libEMuShareMem.so
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver /home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/login.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/world.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/zones.log ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >> /home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >> /home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher ' >> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes ' >> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >> /home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+'
echo '! Writing db.ini !'
echo '+--------------------------------------------------------------+'
echo '[Database] ' > /home/eqemu/server/db.ini
echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
echo 'user=eqemu ' >> /home/eqemu/server/db.ini
echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = $EXT_IP " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >> /home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >> /home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >> /home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >> /home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing LoginServer.ini !'
echo '+--------------------------------------------------------------+ '
echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
echo 'account= ' >> /home/eqemu/server/LoginServer.ini
echo 'password= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >> /home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >> /home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >> /home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " > /home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
Xumtiil
02-28-2013, 09:35 AM
Once the script is working, it can easily be adapted to be a "Resource and recompile" version, but there's no point in investing time in that until we have a working system in the first place.
EDIT: Just looked at the changelog. Interesting - however, it does not tell me what the name of the folder should be. Digging.
Xumtiil
02-28-2013, 10:44 AM
Script update. Shared memory change fixed.
clear
#
# GITHUB VERSION, CURRENTLY ALPHA TEST
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="test"
FIRST_ACCT_PW="account"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SCRIPTEDLINUX"
EMU_LONG_NAME="ScriptedLinux"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing,
# autodetect does not work, or you are compiling for a
# different machine.
#
EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk
'{ print $1 }'`
#
#
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
# userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake, git - X.)
# If you are getting problems at this point, check your sources.list
# (Usually at /etc/apt/sources.list - make sure you have security in there)
#
apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev
libio-stringy-perl
apt-get -y install zlib-bin zlibc unzip make cmake subversion
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
mkdir -p /home/eqemu/server/shared
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
# Added git repository - X.
#
git clone git://github.com/EQEmu/Server.git
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/
allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
echo '+--------------------------------------------------------------+ '
echo "! Copying some files around, we're still in business !"
echo '+--------------------------------------------------------------+ '
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
cp /home/eqemu/source/Server/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/worldui.pl /home/eqemu/server/
# WorldUI currently not in git repo - X.
#
# mkdir /home/eqemu/server/worldui
# cp -r /home/eqemu/source/Server/utils/defaults/worldui/
/home/eqemu/server/worldui/
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" >
/home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY
'$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create
database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb <
/home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb <
/home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb <
/home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb <
/home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb <
/home/eqemu/source/Server/loginserver/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just
muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword )
values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed
s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN',
ServerShortName = 'xSN' WHERE ServerID = 1;" | sed
s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/Server/utils/defaults/eqemu_config.xml.full
eqemu_config.xml
cp /home/eqemu/source/Server/utils/defaults/log.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes.conf .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/Server/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS. (Different process for GIT-based
compile - X)
#
cd /home/eqemu/source/Server/dependencies
# 32 bits
wget -c
http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x86.zip
# 64 bits
# wget -c
http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x64.zip
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubu*.zip
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' Make sure you have the Loginserver to ON, as well as'
echo ' EQEMU_ENABLE_RVALUE_MOVE to ON'
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/Server/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes (tested with make -j, craps out. Won't suggest it - X)
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so
only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/shared_memory
/home/eqemu/server/shared_memory
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver
/home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >>
/home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >>
/home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >>
/home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >>
/home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >>
/home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo './shared_memory 2>&1 >> /home/eqemu/server/logs/sharedmem.log' >>
/home/eqemu/server/startup.sh
echo 'sleep 3 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >>
/home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher '
>> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >>
/home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes '
>> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >>
/home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+'
echo '! Writing db.ini !'
echo '+--------------------------------------------------------------+'
echo '[Database] ' > /home/eqemu/server/db.ini
echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
echo 'user=eqemu ' >> /home/eqemu/server/db.ini
echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = $EXT_IP " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >>
/home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >>
/home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >>
/home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >>
/home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing LoginServer.ini !'
echo '+--------------------------------------------------------------+ '
echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
echo 'account= ' >> /home/eqemu/server/LoginServer.ini
echo 'password= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >>
/home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >>
/home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >>
/home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >>
/home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >>
/home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >>
/home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >>
/home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " >
/home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
just got this;
A trunk/icontest.php
Checked out revision 5.
./install_eqemu.sh: line 164: allaclone-eoc-read-only: command not found
+--------------------------------------------------------------+
! Copying some files around, we're still in business !
+--------------------------------------------------------------+
./install_eqemu.sh: line 185: /home/eqemu/server/worldui/: No such file or directory
+--------------------------------------------------------------+
! Loading the database (could take a few minutes)... !
+--------------------------------------------------------------+
[ Press [ENTER] to continue... ]
Loading database -- please wait...
./install_eqemu.sh: line 201: syntax error near unexpected token `newline'
./install_eqemu.sh: line 201: `echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > '
root@EQEMU-SERVER:/home#
is this error in the script or in a file ?
Xumtiil
02-28-2013, 08:44 PM
Bug in the code, memo to me - don't paste with the tablet, it stinks (it put stuff on new lines, which obviously makes code break - uncommenting parts of comments and stuff like that)
Should be fixed below
clear
#
# GITHUB VERSION, CURRENTLY ALPHA TEST
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="test"
FIRST_ACCT_PW="account"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SCRIPTEDLINUX"
EMU_LONG_NAME="ScriptedLinux"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing,
# autodetect does not work, or you are compiling for a
# different machine.
#
EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#
#
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
# userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake, git - X.)
# If you are getting problems at this point, check your sources.list
# (Usually at /etc/apt/sources.list - make sure you have security in there)
#
apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl
apt-get -y install zlib-bin zlibc unzip make cmake subversion
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
mkdir -p /home/eqemu/server/shared
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
# Added git repository - X.
#
git clone git://github.com/EQEmu/Server.git
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/ allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
echo '+--------------------------------------------------------------+ '
echo "! Copying some files around, we're still in business !"
echo '+--------------------------------------------------------------+ '
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
cp /home/eqemu/source/Server/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/worldui.pl /home/eqemu/server/
# WorldUI currently not in git repo - X.
#
# mkdir /home/eqemu/server/worldui
# cp -r /home/eqemu/source/Server/utils/defaults/worldui/ /home/eqemu/server/worldui/
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > /home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY '$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb < /home/eqemu/source/Server/loginserver/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just
muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword ) values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN', ServerShortName = 'xSN' WHERE ServerID = 1;" | sed s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/Server/utils/defaults/eqemu_config.xml.full eqemu_config.xml
cp /home/eqemu/source/Server/utils/defaults/log.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes.conf .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/Server/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS. (Different process for GIT-based
compile - X)
#
cd /home/eqemu/source/Server/dependencies
# 32 bits
wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x86.zip
# 64 bits
# wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x64.zip
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubu*.zip
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' Make sure you have the Loginserver to ON, as well as'
echo ' EQEMU_ENABLE_RVALUE_MOVE to ON'
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/Server/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes (tested with make -j, craps out. Won't suggest it - X)
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/shared_memory /home/eqemu/server/shared_memory
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver /home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >> /home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >> /home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo './shared_memory 2>&1 >> /home/eqemu/server/logs/sharedmem.log' >> /home/eqemu/server/startup.sh
echo 'sleep 3 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher ' >> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes ' >> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >> /home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+'
echo '! Writing db.ini !'
echo '+--------------------------------------------------------------+'
echo '[Database] ' > /home/eqemu/server/db.ini
echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
echo 'user=eqemu ' >> /home/eqemu/server/db.ini
echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = $EXT_IP " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >> /home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >> /home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >> /home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >> /home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing LoginServer.ini !'
echo '+--------------------------------------------------------------+ '
echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
echo 'account= ' >> /home/eqemu/server/LoginServer.ini
echo 'password= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >> /home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >> /home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >> /home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " >> /home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
LordAdakos
02-28-2013, 09:11 PM
LordAdakos Shouts 'ERROR MESSAGE INCOMING. TRAIN TO NEXT POST'
IMAGE HERE CHECK IT OUT (http://imgur.com/gZLlfdU)
http://i.imgur.com/gZLlfdU.png
Xumtiil
03-01-2013, 04:09 AM
As expected - Did you try with the bugfixed script for the borked tablet-based post?
LordAdakos
03-01-2013, 08:14 AM
I used the most recent post. Will attempt again. (using Ubuntu 12.04 with the script from post #23)
edit: Error
Loading the database.
./install_eqemu.sh Line 215 sytax error neat unexpected token `)'
./install_eqemu.sh line 215 `muck around)'
I got the same error ;
Loading the database.
./install_eqemu.sh Line 215 sytax error neat unexpected token `)'
./install_eqemu.sh line 215 `muck around)'
joligario
03-01-2013, 12:28 PM
Copy/paste issue on line 214. Just remove the carriage return.
Xumtiil
03-01-2013, 03:10 PM
Must have missed that one. Not going to bother correcting, am on tablet. Also, this script got me fired! Yay!
Le sigh.
Sorry to hear about getting fired, when one door closes many more open especially for people with skills.
LordAdakos
03-01-2013, 09:23 PM
damn man, im sorry, if you are around the central ohio area, we could use a programmer...
This is what I get ;
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Could NOT find PerlLibs (missing: PERL_LIBRARY) (found version "5.14.2")
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindPerlLibs.cmake:263 (find_package_handle_standard_args)
CMakeLists.txt:141 (FIND_PACKAGE)
for this I ran
sudo apt-get install php5-curl
for the next error not sure if its fixed by doing the above curl install ;
Variable Name: PERL_LIBRARY
Description: Path to a library.
Current Value: PERL_LIBRARY-NOTFOUND
New Value (Enter to keep current value):
I don't think it compiled I get the following ;
! Done with the installation !
!--------------------------------------------------------------!
! to start your server run !
! /home/eqemu/server/startup.sh !
! and to stop your server run !
! /home/eqemu/server/killeq.sh !
+--------------------------------------------------------------+
root@EQEMU-SERVER:/home# cd /home/eqemu/server
root@EQEMU-SERVER:/home/eqemu/server# startup.sh
startup.sh: command not found
root@EQEMU-SERVER:/home/eqemu/server# ls
chatserver log.ini logs patch_RoF.conf plugins worldui.pl
commands.pl login.ini mail_opcodes.conf patch_SoD.conf quests zone
db.ini login_opcodes.conf mailserver patch_SoF.conf shared
eqemu_config.xml login_opcodes_sod.conf Maps patch_Titanium.conf shared_memory
eqlaunch loginserver opcodes.conf patch_Underfoot.conf startup.sh
killeq.sh LoginServer.ini patch_6.2.conf plugin.pl world
root@EQEMU-SERVER:/home/eqemu/server# ./startup.sh
Starting Login Server...
Waiting about 5 seconds before starting World Server...
./startup.sh: line 10: ./loginserver: No such file or directory
./startup.sh: line 14: ./shared_memory: No such file or directory
Waiting 10 seconds before starting the zones via launcher
./startup.sh: line 17: ./world: No such file or directory
The server is mostly ready... give it a couple of minutes
to load stuff from the databases for the zones and users
can start logging in.
root@EQEMU-SERVER:/home/eqemu/server# ./startup.sh: line 21: ./eqlaunch: No such file or directory
Here is all of the output;
+--------------------------------------------------------------+
Would you like to see advanced options? [No]:no
Please wait while cmake processes CMakeLists.txt files....
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
Could NOT find PerlLibs (missing: PERL_LIBRARY) (found version "5.14.2")
Call Stack (most recent call first):
/usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-2.8/Modules/FindPerlLibs.cmake:263 (find_package_handle_standard_args)
CMakeLists.txt:141 (FIND_PACKAGE)
Variable Name: CMAKE_BUILD_TYPE
Description: Choose the type of build.
Current Value: RelWithDebInfo
New Value (Enter to keep current value):
Variable Name: CMAKE_INSTALL_PREFIX
Description: Install path prefix, prepended onto install directories.
Current Value: /usr/local
New Value (Enter to keep current value):
Variable Name: EQEMU_BUILD_AZONE
Description: Build azone utility.
Current Value: OFF
New Value (Enter to keep current value):
Variable Name: EQEMU_BUILD_LOGIN
Description: Build the login server.
Current Value: OFF
New Value (Enter to keep current value): ON
Variable Name: EQEMU_BUILD_SERVER
Description: Build the game server.
Current Value: ON
New Value (Enter to keep current value):
Variable Name: EQEMU_BUILD_TESTS
Description: Build utility tests.
Current Value: OFF
New Value (Enter to keep current value):
Variable Name: EQEMU_DEBUG_LEVEL
Description: EQEmu debug level:
0 - Quiet mode Errors to file Status and Normal ignored
1 - Status and Normal to console, Errors to logfile
2 - Status, Normal, and Error to console and logfile
3 - Light debug release errors and status
4 - Moderate debug release errors and status
5 - Maximum debug release errors and status
10 - More errors than you ever wanted to see
Current Value: 5
New Value (Enter to keep current value):
Variable Name: EQEMU_ENABLE_BOTS
Description: Enable Bots
Current Value: OFF
New Value (Enter to keep current value): ON
Variable Name: EQEMU_ENABLE_RVALUE_MOVE
Description: Enable EQEmu RValue References (Enable if GCC 4.3 or higher)
Current Value: OFF
New Value (Enter to keep current value):
Variable Name: PERL_INCLUDE_PATH
Description: Path to a file.
Current Value: /usr/lib/perl/5.14/CORE
New Value (Enter to keep current value):
Variable Name: PERL_LIBRARY
Description: Path to a library.
Current Value: PERL_LIBRARY-NOTFOUND
New Value (Enter to keep current value):
Please wait while cmake processes CMakeLists.txt files....
Compiling source-code -- please wait...
+--------------------------------------------------------------+
! Making links to compiled executables in the server directory.!
+--------------------------------------------------------------+
[ Press [ENTER] to continue... ]
+--------------------------------------------------------------+
! Writing Startup Script... !
+--------------------------------------------------------------+
[ Press [ENTER] to continue... ]
+--------------------------------------------------------------+
! Writing db.ini !
+--------------------------------------------------------------+
+--------------------------------------------------------------+
! Writing login.ini !
+--------------------------------------------------------------+
+--------------------------------------------------------------+
! Writing LoginServer.ini !
+--------------------------------------------------------------+
+--------------------------------------------------------------+
! Writing eqemu_config.xml !
+--------------------------------------------------------------+
+--------------------------------------------------------------+
! Done with the installation !
!--------------------------------------------------------------!
! to start your server run !
! /home/eqemu/server/startup.sh !
! and to stop your server run !
! /home/eqemu/server/killeq.sh !
+--------------------------------------------------------------+
root@EQEMU-SERVER:/home# cd /home/eqemu/server
root@EQEMU-SERVER:/home/eqemu/server# startup.sh
startup.sh: command not found
root@EQEMU-SERVER:/home/eqemu/server# ls
chatserver log.ini logs patch_RoF.conf plugins worldui.pl
commands.pl login.ini mail_opcodes.conf patch_SoD.conf quests zone
db.ini login_opcodes.conf mailserver patch_SoF.conf shared
eqemu_config.xml login_opcodes_sod.conf Maps patch_Titanium.conf shared_memory
eqlaunch loginserver opcodes.conf patch_Underfoot.conf startup.sh
killeq.sh LoginServer.ini patch_6.2.conf plugin.pl world
root@EQEMU-SERVER:/home/eqemu/server# ./startup.sh
Starting Login Server...
Waiting about 5 seconds before starting World Server...
./startup.sh: line 10: ./loginserver: No such file or directory
./startup.sh: line 14: ./shared_memory: No such file or directory
Waiting 10 seconds before starting the zones via launcher
./startup.sh: line 17: ./world: No such file or directory
The server is mostly ready... give it a couple of minutes
to load stuff from the databases for the zones and users
can start logging in.
root@EQEMU-SERVER:/home/eqemu/server# ./startup.sh: line 21: ./eqlaunch: No such file or directory
I'm not sure what to install for this (what perl library is it looking for?)
Variable Name: PERL_LIBRARY
Description: Path to a library.
Current Value: PERL_LIBRARY-NOTFOUND
New Value (Enter to keep current value):
Xumtiil
03-02-2013, 07:39 AM
https://github.com/EQEmu/Server/tree/master/dependencies is empty - this should have held the dependencies files for perl
Can't fix the script now but if you download and add them in cmake from the old.svn source it should compile (see here:http://www.eqemulator.net/wiki/wikka.php?wakka=CMake#problems)
X.
Xumtiil
03-02-2013, 10:35 AM
damn man, im sorry, if you are around the central ohio area, we could use a programmer...
Ha. I bat for the other team in so many ways (European, and so much not a programmer, lol)
But thanks, I guess :)
Xumtiil
03-04-2013, 05:58 PM
When trying to log in with Titanium client:
[03.04. - 21:43:36] Unable to convert EQ opcode 0x0003 to an Application opcode.
[03.04. - 21:44:00] Unable to convert EQ opcode 0x0003 to an Application opcode.
And both Titanium and SoD seem to give a logged in from world unsupported, disconnecting error :/
Opcodes.conf are the same as with a working server, however, so I don't really understand how this one can have unknown opcodes coming in.
Any thoughts?
Xumtiil
03-04-2013, 06:01 PM
Full debug log:
root@debian:/home/eqemu/server/logs# cat eqemu_debug_3491.log
---------------------------------------------
[03.04. - 21:42:59] Starting Log: logs/eqemu_debug_3491.log
[03.04. - 21:42:59] [COMMON__THREADS] Starting TCPServerLoop with thread ID -1222169744
[03.04. - 21:42:59] [COMMON__THREADS] Starting EQStreamFactoryReaderLoop with thread ID -1230898320
[03.04. - 21:42:59] [COMMON__THREADS] Starting EQStreamFactoryWriterLoop with thread ID -1239291024
[03.04. - 21:42:59] [COMMON__THREADS] Starting EQStreamFactoryReaderLoop with thread ID -1247949968
[03.04. - 21:42:59] [COMMON__THREADS] Starting EQStreamFactoryWriterLoop with thread ID -1256342672
[03.04. - 21:43:36] Unable to convert EQ opcode 0x0003 to an Application opcode.
[03.04. - 21:44:00] Unable to convert EQ opcode 0x0003 to an Application opcode.
and login_blabla.log
[Debug] [03.04.13 - 21:42:59] Logging System Init.
[Debug] [03.04.13 - 21:42:59] Config System Init.
[Debug] [03.04.13 - 21:42:59] MySQL Database Init.
[Debug] [03.04.13 - 21:42:59] Server Manager Initialize.
[Network] [03.04.13 - 21:42:59] ServerManager listening on port 5998
[Debug] [03.04.13 - 21:42:59] Client Manager Initialize.
[Network] [03.04.13 - 21:42:59] ClientManager listening on Titanium stream.
[Network] [03.04.13 - 21:42:59] ClientManager listening on SoD stream.
[Debug] [03.04.13 - 21:42:59] Server Started.
[Network] [03.04.13 - 21:43:15] New world server connection from 178.33.21.44:49741
[World] [03.04.13 - 21:43:15] Server ScriptedLinux(SCRIPTEDLINUX) successfully logged in.
[Network] [03.04.13 - 21:43:21] New Titanium client connection from 95.83.204.33:36154
[Network] [03.04.13 - 21:43:21] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:21] Session ready received from client.
[Network] [03.04.13 - 21:43:21] Application packet received from client (size 36)
[Network] [03.04.13 - 21:43:21] Login received from client.
[Client] [03.04.13 - 21:43:21] User: Xumtiil
[Client] [03.04.13 - 21:43:21] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:43:21] Application packet received from client (size 12)
[Network] [03.04.13 - 21:43:21] Server list request received from client.
[Network] [03.04.13 - 21:43:23] Application packet received from client (size 16)
[Network] [03.04.13 - 21:43:23] Play received from client, server number 1 sequence 5.
[Network Trace] [03.04.13 - 21:43:23] User-To-World Response received.
[Client] [03.04.13 - 21:43:23] Trying to find client with user id of 3.
[Client] [03.04.13 - 21:43:23] Found client with user id of 3 and account name of Xumtiil.
[Client] [03.04.13 - 21:43:23] Found sequence and play of 5 1
[Network Trace] [03.04.13 - 21:43:23] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:23] Sending play response with following data, allowed 1, sequence 5, server number 1, message 101
[Network Trace] [03.04.13 - 21:43:23] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:23] Sending play response for Xumtiil.
[Network Trace] [03.04.13 - 21:43:23] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network] [03.04.13 - 21:43:23] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:43:30] New Titanium client connection from 95.83.204.33:36155
[Network] [03.04.13 - 21:43:30] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:30] Session ready received from client.
[Network] [03.04.13 - 21:43:30] Session ready indicated logged in from world(unsupported feature), disconnecting.
[Network] [03.04.13 - 21:43:33] New Titanium client connection from 95.83.204.33:36156
[Network] [03.04.13 - 21:43:33] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:33] Session ready received from client.
[Network] [03.04.13 - 21:43:33] Application packet received from client (size 36)
[Network] [03.04.13 - 21:43:33] Login received from client.
[Client] [03.04.13 - 21:43:33] User: Xumtiil
[Client] [03.04.13 - 21:43:33] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:43:34] Application packet received from client (size 12)
[Network] [03.04.13 - 21:43:34] Server list request received from client.
[Network] [03.04.13 - 21:43:35] Application packet received from client (size 16)
[Network] [03.04.13 - 21:43:35] Play received from client, server number 1 sequence 5.
[Network Trace] [03.04.13 - 21:43:35] User-To-World Response received.
[Client] [03.04.13 - 21:43:35] Trying to find client with user id of 3.
[Client] [03.04.13 - 21:43:35] Found client with user id of 3 and account name of Xumtiil.
[Client] [03.04.13 - 21:43:35] Found sequence and play of 5 1
[Network Trace] [03.04.13 - 21:43:35] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:35] Sending play response with following data, allowed 1, sequence 5, server number 1, message 101
[Network Trace] [03.04.13 - 21:43:35] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:35] Sending play response for Xumtiil.
[Network Trace] [03.04.13 - 21:43:35] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network] [03.04.13 - 21:43:36] Application packet received from client (size 12)
[Network Error] [03.04.13 - 21:43:36] Recieved unhandled application packet from the client: [OpCode OP_Unknown (0x0003) Size=10].
[Network] [03.04.13 - 21:43:36] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:43:40] New Titanium client connection from 95.83.204.33:36157
[Network] [03.04.13 - 21:43:41] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:41] Session ready received from client.
[Network] [03.04.13 - 21:43:41] Session ready indicated logged in from world(unsupported feature), disconnecting.
[Network] [03.04.13 - 21:43:43] New Titanium client connection from 95.83.204.33:36158
[Network] [03.04.13 - 21:43:44] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:44] Session ready received from client.
[Network] [03.04.13 - 21:43:44] Application packet received from client (size 36)
[Network] [03.04.13 - 21:43:44] Login received from client.
[Client] [03.04.13 - 21:43:44] User: Xumtiil
[Client] [03.04.13 - 21:43:44] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:43:44] Application packet received from client (size 12)
[Network] [03.04.13 - 21:43:44] Server list request received from client.
[Network] [03.04.13 - 21:43:47] Application packet received from client (size 16)
[Network] [03.04.13 - 21:43:47] Play received from client, server number 1 sequence 5.
[Network Trace] [03.04.13 - 21:43:47] User-To-World Response received.
[Client] [03.04.13 - 21:43:47] Trying to find client with user id of 3.
[Client] [03.04.13 - 21:43:47] Found client with user id of 3 and account name of Xumtiil.
[Client] [03.04.13 - 21:43:47] Found sequence and play of 5 1
[Network Trace] [03.04.13 - 21:43:47] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:47] Sending play response with following data, allowed 1, sequence 5, server number 1, message 101
[Network Trace] [03.04.13 - 21:43:47] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:43:47] Sending play response for Xumtiil.
[Network Trace] [03.04.13 - 21:43:47] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network] [03.04.13 - 21:43:47] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:43:51] New Titanium client connection from 95.83.204.33:36159
[Network] [03.04.13 - 21:43:52] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:52] Session ready received from client.
[Network] [03.04.13 - 21:43:52] Session ready indicated logged in from world(unsupported feature), disconnecting.
[Network] [03.04.13 - 21:43:57] New Titanium client connection from 95.83.204.33:36160
[Network] [03.04.13 - 21:43:58] Application packet received from client (size 14)
[Network] [03.04.13 - 21:43:58] Session ready received from client.
[Network] [03.04.13 - 21:43:58] Application packet received from client (size 36)
[Network] [03.04.13 - 21:43:58] Login received from client.
[Client] [03.04.13 - 21:43:58] User: Xumtiil
[Client] [03.04.13 - 21:43:58] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:43:58] Application packet received from client (size 12)
[Network] [03.04.13 - 21:43:58] Server list request received from client.
[Network] [03.04.13 - 21:43:59] Application packet received from client (size 16)
[Network] [03.04.13 - 21:43:59] Play received from client, server number 1 sequence 5.
[Network Trace] [03.04.13 - 21:44:00] User-To-World Response received.
[Client] [03.04.13 - 21:44:00] Trying to find client with user id of 3.
[Client] [03.04.13 - 21:44:00] Found client with user id of 3 and account name of Xumtiil.
[Client] [03.04.13 - 21:44:00] Found sequence and play of 5 1
[Network Trace] [03.04.13 - 21:44:00] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:44:00] Sending play response with following data, allowed 1, sequence 5, server number 1, message 101
[Network Trace] [03.04.13 - 21:44:00] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:44:00] Sending play response for Xumtiil.
[Network Trace] [03.04.13 - 21:44:00] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network] [03.04.13 - 21:44:00] Application packet received from client (size 12)
[Network Error] [03.04.13 - 21:44:00] Recieved unhandled application packet from the client: [OpCode OP_Unknown (0x0003) Size=10].
[Network] [03.04.13 - 21:44:00] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:44:04] New Titanium client connection from 95.83.204.33:36161
[Network] [03.04.13 - 21:44:04] Application packet received from client (size 14)
[Network] [03.04.13 - 21:44:04] Session ready received from client.
[Network] [03.04.13 - 21:44:04] Session ready indicated logged in from world(unsupported feature), disconnecting.
[Network] [03.04.13 - 21:54:02] New SoD client connection from 95.83.204.33:36463
[Network] [03.04.13 - 21:54:02] Application packet received from client (size 14)
[Network] [03.04.13 - 21:54:02] Session ready received from client.
[Network] [03.04.13 - 21:54:02] Application packet received from client (size 36)
[Network] [03.04.13 - 21:54:02] Login received from client.
[Client] [03.04.13 - 21:54:02] User: Xumtiil
[Client] [03.04.13 - 21:54:02] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:54:02] Application packet received from client (size 12)
[Network] [03.04.13 - 21:54:02] Server list request received from client.
[Network] [03.04.13 - 21:54:07] Application packet received from client (size 16)
[Network] [03.04.13 - 21:54:07] Play received from client, server number 1 sequence 5.
[Network Trace] [03.04.13 - 21:54:07] User-To-World Response received.
[Client] [03.04.13 - 21:54:07] Trying to find client with user id of 3.
[Client] [03.04.13 - 21:54:07] Found client with user id of 3 and account name of Xumtiil.
[Client] [03.04.13 - 21:54:07] Found sequence and play of 5 1
[Network Trace] [03.04.13 - 21:54:07] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:54:07] Sending play response with following data, allowed 1, sequence 5, server number 1, message 101
[Network Trace] [03.04.13 - 21:54:07] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network Trace] [03.04.13 - 21:54:07] Sending play response for Xumtiil.
[Network Trace] [03.04.13 - 21:54:07] dumping packet of size 20
05 00 00 00 00 00 00 00 - 00 00 01 65 00 00 00 00 | ...........e....
01 00 00 00 | ....
[Network] [03.04.13 - 21:54:07] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:54:13] New SoD client connection from 95.83.204.33:36464
[Network] [03.04.13 - 21:54:13] Application packet received from client (size 14)
[Network] [03.04.13 - 21:54:13] Session ready received from client.
[Network] [03.04.13 - 21:54:13] Session ready indicated logged in from world(unsupported feature), disconnecting.
[Network] [03.04.13 - 21:54:15] New SoD client connection from 95.83.204.33:36465
[Network] [03.04.13 - 21:54:15] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:54:15] New SoD client connection from 95.83.204.33:36466
[Network] [03.04.13 - 21:54:15] Application packet received from client (size 14)
[Network] [03.04.13 - 21:54:15] Session ready received from client.
[Network] [03.04.13 - 21:54:15] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:54:15] New SoD client connection from 95.83.204.33:36467
[Network] [03.04.13 - 21:54:15] Application packet received from client (size 14)
[Network] [03.04.13 - 21:54:15] Session ready received from client.
[Network] [03.04.13 - 21:54:15] Client disconnected from the server, removing client.
[Network] [03.04.13 - 21:54:15] New SoD client connection from 95.83.204.33:36468
[Network] [03.04.13 - 21:54:15] Application packet received from client (size 14)
[Network] [03.04.13 - 21:54:15] Session ready received from client.
[Network] [03.04.13 - 21:54:16] Application packet received from client (size 36)
[Network] [03.04.13 - 21:54:16] Login received from client.
[Client] [03.04.13 - 21:54:16] User: Xumtiil
[Client] [03.04.13 - 21:54:16] Hash: ca20728d35f00c3a4c21b1fc8b0086b59f89df2d
[Network] [03.04.13 - 21:54:16] Application packet received from client (size 12)
[Network] [03.04.13 - 21:54:16] Server list request received from client.
[Network] [03.04.13 - 21:54:17] Client disconnected from the server, removing client.
Xumtiil
03-10-2013, 08:05 AM
I just tried installing locally on a VM on my machine; same stuff. Unknown OP Code, I see the server but won't let me log in (no error on EQ client, just get black screen and then a blank server select screen - log out and in and I see the server again, both on Titanium or Underfoot client)
Going to see if I can find a way to have it on a physical machine, and not a VM, and check if that works.
Did you guys have any luck with getting the Perl dependencies in there? I might have time to have another stab at the script sometime next week, but feel free to suggest additions/replacements/etc where needed.
X.
Slaymore
03-30-2013, 03:23 PM
I am getting the same thing .. any luck on a resolution yet?
I have tried 3 other linux builds and this one has got me the closest .. hopefully someone more knowledgeable can help figure the issue out.
well done thank you
also there is another carriage return on line 247 i think it was.
Xumtiil
03-31-2013, 03:40 AM
I'm currently swamped personally. I foresee getting some more time after the 10th, however since I lost my job I also lost access to free Linux servers :p I have a Linux OS dual booted on my machine, but no EQ on it. I'll have to invest some time getting that working first, so I can test my builds myself.
I will crack this. Too close to give up.
Xumtiil
07-15-2013, 06:34 AM
I'm getting back on this.
I've found one bug that made it ask for the perl library every time, I think I fixed it, testing it currently on a Debian Wheezy built in a ProxMox OpenVZ container. Will post the script again when I'm done for some public testing, again.
X.
Xumtiil
07-15-2013, 06:37 AM
(if you're impatient, I believe an apt-get install libperl-dev fixed it)
It installed, but I did need to change the MYSQL permissions to accept the connection (I used Webmin to change it to accept from ALL, and I added the IP as a host allowed with all permissions - I'm not sure yet which of those two fixed the connection issue)
Code used below (now free of faulty carriage returns, yay!)
clear
#
# GITHUB VERSION, CURRENTLY ALPHA TEST
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="test"
FIRST_ACCT_PW="account"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SCRIPTEDLINUX"
EMU_LONG_NAME="ScriptedLinux"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing,
# autodetect does not work, or you are compiling for a
# different machine.
#
# EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#
#
EXT_IP=188.165.0.75
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
# userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake, git - X.)
# If you are getting problems at this point, check your sources.list
# (Usually at /etc/apt/sources.list - make sure you have security in there)
#
apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl
apt-get -y install zlib-bin zlibc unzip make cmake subversion libperl-dev
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
mkdir -p /home/eqemu/server/shared
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
# Added git repository - X.
#
git clone git://github.com/EQEmu/Server.git
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/ allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
echo '+--------------------------------------------------------------+ '
echo "! Copying some files around, we're still in business !"
echo '+--------------------------------------------------------------+ '
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
cp /home/eqemu/source/Server/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/worldui.pl /home/eqemu/server/
# WorldUI currently not in git repo - X.
#
# mkdir /home/eqemu/server/worldui
# cp -r /home/eqemu/source/Server/utils/defaults/worldui/ /home/eqemu/server/worldui/
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > /home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY '$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb < /home/eqemu/source/Server/loginserver/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword ) values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN', ServerShortName = 'xSN' WHERE ServerID = 1;" | sed s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/Server/utils/defaults/eqemu_config.xml.full eqemu_config.xml
cp /home/eqemu/source/Server/utils/defaults/log.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes.conf .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/Server/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS. (Different process for GIT-based compile - X)
#
cd /home/eqemu/source/Server/dependencies
# 32 bits
wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x86.zip
# 64 bits
# wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x64.zip
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubu*.zip
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' Make sure you have the Loginserver to ON, as well as'
echo ' EQEMU_ENABLE_RVALUE_MOVE to ON'
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/Server/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes (tested with make -j, craps out. Won't suggest it - X)
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/shared_memory /home/eqemu/server/shared_memory
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver /home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >> /home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >> /home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo './shared_memory 2>&1 >> /home/eqemu/server/logs/sharedmem.log' >> /home/eqemu/server/startup.sh
echo 'sleep 3 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher ' >> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes ' >> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >> /home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+'
echo '! Writing db.ini !'
echo '+--------------------------------------------------------------+'
echo '[Database] ' > /home/eqemu/server/db.ini
echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
echo 'user=eqemu ' >> /home/eqemu/server/db.ini
echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = $EXT_IP " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >> /home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >> /home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >> /home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >> /home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing LoginServer.ini !'
echo '+--------------------------------------------------------------+ '
echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
echo 'account= ' >> /home/eqemu/server/LoginServer.ini
echo 'password= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >> /home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >> /home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >> /home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " >> /home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
Xumtiil
07-15-2013, 07:05 AM
I'm not at a location with access to EQ - can someone access this:
host =
eq.kludde.net:5998
User = test
pwd = account
Thanks,
X.
Xumtiil
07-15-2013, 11:18 AM
[Network] [07.15.13 - 15:14:30] Session ready indicated logged in from world(unsupported feature), disconnecting.
I log in with a SoD client (Port 5999 then), I see the server, I click connect, I get the login screen again. Funny thing - if I press escape, it shows me the server list again.
Anyone want the full logs of the server? This is still beyond me :/
Xumtiil
07-16-2013, 06:56 AM
Trying with an ubuntu build vs a Debian. will post results later today.
Is anyone actually following this anymore? :P
I had a few things to do on the retry from many months ago.
provocating
Dragon
Join Date: Nov 2007
Posts: 947
Default
Quote:
Originally Posted by Vexyl View Post
You probably already have what's needed to build Lua: http://www.lua.org/faq.html#1.1
Also, see here: http://lua-users.org/wiki/BuildingLua
If I may ask, why are you building from source? On debian you could simply do `apt-get install liblua5.1-0-dev` for the 5.1 development libraries, and `apt-get install lua` for the Lua interpreter binaries.
Probably a misunderstanding, I am building the EqEmu source.
What about libboost-all-dev is it also required?
__________________
www.dragonsofmist.com
edit my.cf and change ip address to (localhost)
edit the eqXML file to the right ip address and local hosts
i'm logged in and running around as i type this
Xumtiil
09-14-2013, 04:41 PM
Are you telling me that if the script is tweaked to use lua instead of perl, it works?
If so, can you post here the changes you've made (preferably the complete install script)
X.
I made no changes.
it is an option during the install.
I will delete the eqemu dir and try again this time saying no to the lua option, i turned everything on last time.
Xumtiil
09-15-2013, 04:23 PM
Trying an install from scratch as well, checking if something's changed in source and if it now builds without the issue I was seeing.
Will try with LUA and without LUA - but I'm curious, are there lua-based scripts in the source then? I thought it was all perl and Lua was very much "do your own stuff".
X.
demonstar55
09-15-2013, 04:33 PM
PEQ has been converting their quests to LUA, so if you want to use the latest PEQ quest revision, you will need LUA.
Xumtiil
09-15-2013, 04:41 PM
clear
#
# GITHUB VERSION, CURRENTLY ALPHA TEST
#
# Compiles as standard on 32 bit Debian/Ubuntu.
# To change this to compile on 64 bit machines, scroll down
# to the crypt section, which needs to be changed.
#
# THESE ARE THE VARIABLES, PLEASE CHANGE TO SUIT YOUR NEEDS
# (Added more explanation + more variables - X.)
#
# Self-explanatory First Account Name and Password
#
FIRST_ACCT_NAME="test"
FIRST_ACCT_PW="account"
#
# Emulator Short name for loginserver, Long name for EQ
# Change to fit your needs.
#
EMU_SHORT_NAME="SCRIPTEDLINUX"
EMU_LONG_NAME="ScriptedLinux"
#
# Database Root password and EQEMU password,
# so your server is more secure (non-default passwords)
#
ROOTPASS="eqemu"
EQEMUPASS="eqemupw"
#
# Your IP - do not touch unless you know what you're doing,
# autodetect does not work, or you are compiling for a
# different machine.
#
# EXT_IP=`ifconfig eth0 | grep "inet addr:" | awk -F: '{ print $2 }' | awk '{ print $1 }'`
#
#
EXT_IP=188.165.0.75
echo ' '
echo ' ################################################# '
echo " ### Xumtiil's adaptation of : ### "
echo " ### Tim's EQEQMU Installer Version 1.0 ### "
echo ' ### Author : Tim Little (Original) ### '
echo ' ### Raf Lejeune (CMAKE, fixes, vars) ### '
echo ' ### Date : 2012-03-10 // 2013-02-21 ### '
echo ' ################################################# '
echo ' '
echo ' ================================================= '
echo ' === So easy, a complete git could do it... === '
echo ' === This script was made so that a person === '
echo ' === could get a eqemu installed and running === '
echo ' === on a Ubuntu/Debian server within less === '
echo ' === than an hour and with the LEAST amount === '
echo ' === of file editing and complex stuff! === '
echo ' ================================================= '
echo ' '
echo "Your current eth0 IP is set to $EXT_IP."
echo "That address will be used in all the configuration files."
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to start installing. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home
#
# Change the sysctl.conf to reflect the sharedmem parameter change
# This should take far less than a second. Should require root.
#
cp /etc/sysctl.conf /etc/sysctl.conf_original
grep -v "kernel.shm" /etc/sysctl.conf | grep -v "TJL" > /etc/new_sysctl.conf
mv /etc/new_sysctl.conf /etc/sysctl.conf
echo "# added by TJL - 2012-02-27 for eqemu" >> /etc/sysctl.conf
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall=65536" >> /etc/sysctl.conf
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Modified sysctl !'
echo '! About to install packages as needed. !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Removing eqemu directories, if they exist.
#
rm -rf /home/eqemu
#
# If user eqemu does not exist, it will give a tiny error message
# but it will be swallowed up in the huge list of packages that
# mercifully scroll past.
# userdel eqemu
useradd eqemu
#
# Update package list
#
apt-get clean
apt-get update
#
# Thus is the first critical part...
# It installs all the needed packages...
# So you don't have to! (added cmake, git - X.)
# If you are getting problems at this point, check your sources.list
# (Usually at /etc/apt/sources.list - make sure you have security in there)
#
apt-get -y install git git-core gcc g++ cpp libmysqlclient-dev libio-stringy-perl
apt-get -y install zlib-bin zlibc unzip make cmake subversion libperl-dev
apt-get -y install libmysqlclient-dev libperl-dev mysql-client-5.1
apt-get -y install libboost-all-dev lua5.1 liblua5.1-0-dev
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! About to install database server (if needed) !'
echo '! !'
echo '! Please be aware that the database server installation will !'
echo '! ask for a root password THREE TIMES! !'
echo '! !'
echo '! Each time that it asks, just hit ENTER to choose NO PASSWORD !'
echo '! !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
apt-get -y install mysql-server
#
# Once the server software is installed, the my.cnf exists, but it
# binds to localhost or 127.0.0.1 and I think that the real IP
# is a better point. So this next part changes the bind address
# automatically.
#
cat /etc/mysql/my.cnf | sed s/bind-address.*/bind-address=$EXT_IP/ > tmp.cnf
cp tmp.cnf /etc/mysql/my.cnf
#
echo ' '
echo '+--------------------------------------------------------------+'
echo '! Downloading all the source-code, maps, db stuff from the net.!'
echo '! !'
echo '! This could take a few minutes and there might be pauses,,, !'
echo '+--------------------------------------------------------------+'
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Prepare everything by making the necessary directories
#
mkdir -p /home/eqemu/server/logs
mkdir -p /home/eqemu/source
mkdir -p /home/eqemu/server/Maps
mkdir -p /home/eqemu/server/quests
mkdir -p /home/eqemu/server/plugins
mkdir -p /home/eqemu/server/shared
#
# Make sure we are about to pull everything into the right directories..
#
cd /home/eqemu/source
#
# Second critical part -- getting all the most recent code,
# database items, quests, maps and plugins from the source.
# With super-fast connection speeds, this may still take a few
# minutes.
#
# Added git repository - X.
#
git clone git://github.com/EQEmu/Server.git
svn co http://projecteqdb.googlecode.com/svn/trunk/peqdatabase
svn co http://projecteqquests.googlecode.com/svn/trunk/quests
svn co http://eqemumaps.googlecode.com/svn/trunk/Maps
svn co http://allaclone-eoc.googlecode.com/svn/trunk/ allaclone-eoc-read-only
#
# Now copy from the SOURCE directories to the SERVER directories
# as needed. Might take a bit.
#
echo '+--------------------------------------------------------------+ '
echo "! Copying some files around, we're still in business !"
echo '+--------------------------------------------------------------+ '
cp -r /home/eqemu/source/Maps/* /home/eqemu/server/Maps/
cp -r /home/eqemu/source/quests/* /home/eqemu/server/quests/
chmod --recursive ugo+rwx /home/eqemu/server/quests/
cp -r /home/eqemu/source/quests/plugins/* /home/eqemu/server/plugins/
chmod --recursive ugo+rwx /home/eqemu/server/plugins/
cp /home/eqemu/source/Server/utils/defaults/commands.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/plugin.pl /home/eqemu/server/
cp /home/eqemu/source/Server/utils/defaults/worldui.pl /home/eqemu/server/
# WorldUI currently not in git repo - X.
#
# mkdir /home/eqemu/server/worldui
# cp -r /home/eqemu/source/Server/utils/defaults/worldui/ /home/eqemu/server/worldui/
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Loading the database (could take a few minutes)... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo ' Loading database -- please wait... '
echo ' '
cd /home/eqemu/source/peqdatabase/
#
# Set the root DB password to $ROOTPASS
# Creating eqemu user with initial password to $EQEMUPASS
# Yeah, VARIABLES BABY! - X.
#
echo "set password for 'root'@'localhost' = PASSWORD('$ROOTPASS');" > /home/eqemu/server/logs/db_users.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'eqemu'@'%' IDENTIFIED BY '$EQEMUPASS';" >> /home/eqemu/server/logs/db_users.sql
echo "flush privileges;" >> /home/eqemu/server/logs/db_users.sql
mysql -u root < /home/eqemu/server/logs/db_users.sql
rm -rf /home/eqemu/server/logs/db_users.sql
#
# Get ready to load the database
#
mysql -u root -p$ROOTPASS -e "drop database if exists peqdb; create database if not exists peqdb;"
gunzip peqdb_rev*.sql.gz
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/peqdb_*.sql
# that might take a little time -- just under two minutes on my machine...
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_player.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_login.sql
mysql -u root -p$ROOTPASS -f -D peqdb < /home/eqemu/source/peqdatabase/load_bots.sql
mysql -uroot -p$ROOTPASS -D peqdb < /home/eqemu/source/Server/loginserver/login_util/EQEmuLoginServerDBInstall.sql
#
# Now we load that first account so we can have a GM account (or just muck around)
#
echo "insert into tblLoginServerAccounts (AccountName, AccountPassword ) values('xFN', sha('xPW') );" | sed s/xFN/$FIRST_ACCT_NAME/ | sed s/xPW/$FIRST_ACCT_PW/ > lsa.sql
mysql -uroot -p$ROOTPASS -D peqdb < lsa.sql
echo "UPDATE tblWorldServerRegistration SET ServerLongName = 'xLN', ServerShortName = 'xSN' WHERE ServerID = 1;" | sed s/xLN/$EMU_LONG_NAME/| sed s/xSN/$EMU_SHORT_NAME/ > wsr.sql
mysql -uroot -p$ROOTPASS -D peqdb < wsr.sql
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Moving ini and conf files around. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
cd /home/eqemu/server
cp /home/eqemu/source/Server/utils/defaults/eqemu_config.xml.full eqemu_config.xml
cp /home/eqemu/source/Server/utils/defaults/log.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login.ini .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes.conf .
cp /home/eqemu/source/Server/loginserver/login_util/login_opcodes_sod.conf .
cp /home/eqemu/source/Server/utils/patches/*.conf .
#
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! About to compile source code for a lot of stuff... !'
echo '! Expect this to take at least several minutes -- !'
echo '! Dont be surprised if this takes up to 20ish minutes. !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
#
# Fixed that they need the crypt files during the single make, not after. X
# These are the 32bit crypt files - 64 bits commented out inline.
# Switch comments for 64-bit OS. (Different process for GIT-based compile - X)
#
cd /home/eqemu/source/Server/dependencies
# 32 bits
wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x86.zip
# 64 bits
# wget -c http://projecteqemu.googlecode.com/files/ubuntu_LoginServerCrypto_x64.zip
rm -rf libEQEmuAuthCrypto.a
rm -rf libcryptopp.a
unzip ubu*.zip
#
# Added CMAKE section, to be able to use make later on. X.
#
echo
echo ' '
echo ' +--------------------------------------------------------------+'
echo ' Now CMAKE: Do not take advanced options, '
echo ' Make sure you have the Loginserver to ON, as well as'
echo ' EQEMU_ENABLE_RVALUE_MOVE to ON'
echo ' If it starts asking for unknown PATHS, something broke. Restart. '
echo ' +--------------------------------------------------------------+'
echo ' '
mkdir /home/eqemu/source/build
cd /home/eqemu/source/build
cmake -G "Unix Makefiles" -i /home/eqemu/source/Server/
make clean &> /home/eqemu/clean_eqemuserver.log
echo ' '
echo ' Compiling source-code -- please wait... '
echo ' '
make &> /home/eqemu/compile_eqemuserver.log
#
# takes 12 minutes (tested with make -j, craps out. Won't suggest it - X)
# check that log file with nano just to see that there were no errors..
# if there were errors, then they'd probably be on the screen too, so only panic
# if you see a problem on-screen
#
# or use tail /home/eqemu/compile_eqemuserver.log
# to see the last lines - if it hits 100%, you're done - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Making links to compiled executables in the server directory.!'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
#
# Fixed the links to take new build process into account - X.
#
ln -s /home/eqemu/source/build/Bin/shared_memory /home/eqemu/server/shared_memory
ln -s /home/eqemu/source/build/Bin/world /home/eqemu/server/world
ln -s /home/eqemu/source/build/Bin/zone /home/eqemu/server/zone
ln -s /home/eqemu/source/build/Bin/loginserver /home/eqemu/server/loginserver
ln -s /home/eqemu/source/build/Bin/eqlaunch /home/eqemu/server/eqlaunch
ln -s /home/eqemu/source/build/Bin/chatserver /home/eqemu/server/chatserver
ln -s /home/eqemu/source/build/Bin/mailserver /home/eqemu/server/mailserver
#
cd /home/eqemu/server
#
# Adapted startup script, EQEmuLoginServer is no longer used, it is now
# just loginserver, as well as some other fixes - X.
#
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Writing Startup Script... !'
echo '+--------------------------------------------------------------+ '
read -p "[ Press [ENTER] to continue... ]"
echo ' '
echo 'ulimit -c unlimited ' > /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'cd /home/eqemu/server ' >> /home/eqemu/server/startup.sh
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'rm -rf /home/eqemu/server/logs/*.log ' >> /home/eqemu/server/startup.sh
echo 'chmod --recursive ugo+rwx /home/eqemu/server/quests ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Starting Login Server... ' >> /home/eqemu/server/startup.sh
echo ' ./loginserver 2>&1 >> /home/eqemu/server/logs/login.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting about 5 seconds before starting World Server... ' >> /home/eqemu/server/startup.sh
echo 'sleep 5 ' >> /home/eqemu/server/startup.sh
echo './shared_memory 2>&1 >> /home/eqemu/server/logs/sharedmem.log' >> /home/eqemu/server/startup.sh
echo 'sleep 3 ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo './world 2>&1 > /home/eqemu/server/logs/world.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo Waiting 10 seconds before starting the zones via launcher ' >> /home/eqemu/server/startup.sh
echo 'sleep 10 ' >> /home/eqemu/server/startup.sh
echo './eqlaunch zone 2>&1 > /home/eqemu/server/logs/zones.log & ' >> /home/eqemu/server/startup.sh
echo ' ' >> /home/eqemu/server/startup.sh
echo 'echo The server is mostly ready... give it a couple of minutes ' >> /home/eqemu/server/startup.sh
echo 'echo to load stuff from the databases for the zones and users ' >> /home/eqemu/server/startup.sh
echo 'echo can start logging in. ' >> /home/eqemu/server/startup.sh
chmod ugo+x /home/eqemu/server/startup.sh
#
# CREATE db.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+'
echo '! Writing db.ini !'
echo '+--------------------------------------------------------------+'
echo '[Database] ' > /home/eqemu/server/db.ini
echo "host=$EXT_IP " >> /home/eqemu/server/db.ini
echo 'user=eqemu ' >> /home/eqemu/server/db.ini
echo "password=$EQEMUPASS " >> /home/eqemu/server/db.ini
echo 'database=peqdb ' >> /home/eqemu/server/db.ini
#
# CREATE login.ini (Fixed for variables use - X.)
#
echo '+--------------------------------------------------------------+'
echo '! Writing login.ini !'
echo '+--------------------------------------------------------------+'
echo '[database] ' > /home/eqemu/server/login.ini
echo "host = $EXT_IP " >> /home/eqemu/server/login.ini
echo 'port = 3306 ' >> /home/eqemu/server/login.ini
echo 'db = peqdb ' >> /home/eqemu/server/login.ini
echo 'user = eqemu ' >> /home/eqemu/server/login.ini
echo "password = $EQEMUPASS " >> /home/eqemu/server/login.ini
echo 'subsystem = MySQL ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[options] ' >> /home/eqemu/server/login.ini
echo 'unregistered_allowed = TRUE ' >> /home/eqemu/server/login.ini
echo 'reject_duplicate_servers = FALSE ' >> /home/eqemu/server/login.ini
echo 'trace = TRUE ' >> /home/eqemu/server/login.ini
echo 'world_trace = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_in = FALSE ' >> /home/eqemu/server/login.ini
echo 'dump_packets_out = FALSE ' >> /home/eqemu/server/login.ini
echo 'listen_port = 5998 ' >> /home/eqemu/server/login.ini
echo "local_network = $EXT_IP " >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[security] ' >> /home/eqemu/server/login.ini
echo 'plugin = EQEmuAuthCrypto ' >> /home/eqemu/server/login.ini
echo 'mode = 5 ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[Titanium] ' >> /home/eqemu/server/login.ini
echo 'port = 5998 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[SoD] ' >> /home/eqemu/server/login.ini
echo 'port = 5999 ' >> /home/eqemu/server/login.ini
echo 'opcodes = login_opcodes_sod.conf ' >> /home/eqemu/server/login.ini
echo ' ' >> /home/eqemu/server/login.ini
echo '[schema] ' >> /home/eqemu/server/login.ini
echo 'account_table = tblLoginServerAccounts ' >> /home/eqemu/server/login.ini
echo 'world_registration_table = tblWorldServerRegistration ' >> /home/eqemu/server/login.ini
echo 'world_admin_registration_table = tblServerAdminRegistration ' >> /home/eqemu/server/login.ini
echo 'world_server_type_table = tblServerListType ' >> /home/eqemu/server/login.ini
#
# CREATE LoginServer.ini (Should be deprecated, uncommented for testing - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing LoginServer.ini !'
echo '+--------------------------------------------------------------+ '
echo '[LoginServer] ' > /home/eqemu/server/LoginServer.ini
echo 'loginserver=EQEMU-SERVER ' >> /home/eqemu/server/LoginServer.ini
echo 'loginport=5998 ' >> /home/eqemu/server/LoginServer.ini
echo "worldname=$EMU_LONG_NAME " >> /home/eqemu/server/LoginServer.ini
echo "worldaddress=$EXT_IP " >> /home/eqemu/server/LoginServer.ini
echo 'locked=false ' >> /home/eqemu/server/LoginServer.ini
echo 'account= ' >> /home/eqemu/server/LoginServer.ini
echo 'password= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[WorldServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'Defaultstatus=0 ' >> /home/eqemu/server/LoginServer.ini
echo 'Unavailzone= ' >> /home/eqemu/server/LoginServer.ini
echo ' ' >> /home/eqemu/server/LoginServer.ini
echo '[ChatChannelServer] ' >> /home/eqemu/server/LoginServer.ini
echo 'worldshortname=- ' >> /home/eqemu/server/LoginServer.ini
echo 'chataddress= ' >> /home/eqemu/server/LoginServer.ini
echo 'chatport= ' >> /home/eqemu/server/LoginServer.ini
#
# CREATE eqemu_config.xml (Fixed for variables use - X)
#
echo '+--------------------------------------------------------------+ '
echo '! Writing eqemu_config.xml !'
echo '+--------------------------------------------------------------+ '
echo '<?xml version="1.0"> ' > /home/eqemu/server/eqemu_config.xml
echo '<server> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <world> ' >> /home/eqemu/server/eqemu_config.xml
echo " <shortname>$EMU_SHORT_NAME</shortname> " >> /home/eqemu/server/eqemu_config.xml
echo " <longname>$EMU_LONG_NAME</longname> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <address>EQEMU-SERVER</address> --> ' >> /home/eqemu/server/eqemu_config.xml
echo " <localaddress>$EXT_IP</localaddress> --> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Loginserver information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>5998</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <account>Admin</account> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <password>Password</password> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </loginserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Server status. Default is unlocked --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!--<locked/>--> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <unlocked/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo " <tcp ip=$EXT_IP port=9000 telnet=enable /> " >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <key>some long random string</key> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <http port="9080" enabled="true" mimefile="mime.types" /> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </world> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Chatserver (channels) information. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7778</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </chatserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>7779</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </mailserver> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <defaultstatus>20</defaultstatus> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <ports low="7000" high="7100"/> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </zones> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <database> ' >> /home/eqemu/server/eqemu_config.xml
echo " <host>$EXT_IP</host> " >> /home/eqemu/server/eqemu_config.xml
echo ' <port>3306</port> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <username>eqemu</username> ' >> /home/eqemu/server/eqemu_config.xml
echo " <password>$EQEMUPASS</password> " >> /home/eqemu/server/eqemu_config.xml
echo ' <db>peqdb</db> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </database> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Launcher Configuration --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logprefix>logs/zone-</logprefix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <logsuffix>.log</logsuffix> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <exe>zone.exe or ./zone</exe> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- <timers restart="10000" reterminate="10000"> --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </launcher> ' >> /home/eqemu/server/eqemu_config.xml
echo ' ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- File locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <spells>spells_us.txt</spells> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <opcodes>opcodes.conf</opcodes> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <logsettings>log.ini</logsettings> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </files> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <!-- Directory locations. Defaults shown --> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <directories> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <maps>/home/eqemu/server/Maps</maps> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <quests>/home/eqemu/server/quests</quests> ' >> /home/eqemu/server/eqemu_config.xml
echo ' <plugins>/home/eqemu/server/plugins</plugins> ' >> /home/eqemu/server/eqemu_config.xml
echo ' </directories> ' >> /home/eqemu/server/eqemu_config.xml
echo '</server> ' >> /home/eqemu/server/eqemu_config.xml
chmod -R ugo+rw /home/eqemu
echo "killall eqlaunch world zone loginserver " >> /home/eqemu/server/killeq.sh
chmod -R ugo+x /home/eqemu/server/killeq.sh
echo ' '
echo '+--------------------------------------------------------------+ '
echo '! Done with the installation !'
#
# I dont think this is needed anymore - X.
#
#echo '! !'
#echo '! Please copy spells_us.txt to the !'
#echo '! /home/eqemu/server directory now. !'
#echo '! !'
echo '!--------------------------------------------------------------!'
#echo '! Then you can reboot your machine and run !'
echo '! to start your server run !'
echo '! /home/eqemu/server/startup.sh !'
echo '! and to stop your server run !'
echo '! /home/eqemu/server/killeq.sh !'
echo '+--------------------------------------------------------------+ '
This should be the script that also installs the prerequisites for Lua compilation (Lua 5.1 and boost). Checking to see if this holds water.
X.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.