EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Linux script and loginserver hash (https://www.eqemulator.org/forums/showthread.php?t=36438)

Xumtiil 02-08-2013 08:53 AM

Linux script and loginserver hash
 
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.

Code:

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?

azog 02-28-2013 09:08 AM

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:
Code:

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.

Code:



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 '+--------------------------------------------------------------+ '


azog 02-28-2013 08:21 PM

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

Code:



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://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
Code:

Loading the database.
./install_eqemu.sh Line 215 sytax error neat unexpected token `)'
./install_eqemu.sh line 215 `muck around)'


azog 03-01-2013 11:13 AM

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.

azog 03-01-2013 09:02 PM

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...

azog 03-01-2013 09:25 PM

cmake errors
 
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;
Code:

+--------------------------------------------------------------+

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


azog 03-01-2013 10:14 PM

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...r/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...CMake#problems)

X.

Xumtiil 03-02-2013 10:35 AM

Quote:

Originally Posted by LordAdakos (Post 219086)
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:
Code:

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

Code:

[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

Any Luck
 
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.


All times are GMT -4. The time now is 05:07 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.