Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 02-08-2013, 08:53 AM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default 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.
Reply With Quote
  #2  
Old 02-17-2013, 10:02 PM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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
Reply With Quote
  #3  
Old 02-18-2013, 04:05 PM
image
Demi-God
 
Join Date: Jan 2002
Posts: 1,290
Default

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.
__________________
www.eq2emu.com
EQ2Emu Developer
Former EQEMu Developer / GuildWars / Zek Seasons Servers
Member of the "I hate devn00b" club.
Reply With Quote
  #4  
Old 02-18-2013, 09:02 PM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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.
Reply With Quote
  #5  
Old 02-18-2013, 09:15 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

Once you generate the cache in interactive mode, you don't need to do interactive anymore unless you remove the cache.
Reply With Quote
  #6  
Old 02-18-2013, 09:22 PM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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.
Reply With Quote
  #7  
Old 02-21-2013, 11:38 AM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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 '+--------------------------------------------------------------+ '
Reply With Quote
  #8  
Old 02-21-2013, 12:39 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

You'll probably want to update it to pull the source from git now.
Reply With Quote
  #9  
Old 02-21-2013, 01:08 PM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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.
Reply With Quote
  #10  
Old 02-22-2013, 06:29 AM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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.
Reply With Quote
  #11  
Old 02-22-2013, 06:36 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

http://code.google.com/p/projecteqemu/downloads/list
Reply With Quote
  #12  
Old 02-22-2013, 09:39 AM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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.
Reply With Quote
  #13  
Old 02-24-2013, 07:21 PM
LordAdakos
Sarnak
 
Join Date: Dec 2007
Posts: 57
Default

Any updates, Xumtil?

Is it working, or failing?
Reply With Quote
  #14  
Old 02-25-2013, 07:09 AM
Xumtiil
Sarnak
 
Join Date: Apr 2006
Posts: 40
Default

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 )
Reply With Quote
  #15  
Old 02-25-2013, 08:05 AM
LordAdakos
Sarnak
 
Join Date: Dec 2007
Posts: 57
Default

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 ?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:21 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3