-
[Ascent][Linux]New & Improved Guide
Ascent on Linux
Hello, this guide contains the tutorial for setting up Ascent on Linux for Ubuntu & Debian.
I was inspired by Sebkinne's guide, which only has the guide for Debian.
I'm just about done typing this, and I wanted to finish before I posted it but I couldn't so I'll finish later. I will have the Debian guide done soon hopefully. Once a moderator has seen this, please read it thoroughly. If this can be stickied, it'd be appreciated because I spent about 4 hours making just the Ubuntu guide. I don't want this wasted. I hope this is helpful and all comments, questions, or suggestions are welcome but follow the rules of Ragezone while posting. Thanks.
Updates/Information: No updates as of now but I will be improving the look of it and adding any suggestions I feel are needed.
Contents
1.0 Installing Ubuntu
1.1 Installing The Needed Files
1.2 Creating The mySQL Databases
1.3 Downloading Ascent
1.4 Configuring Ascent's Files
1.5 DBC & Maps
1.6 Importing mySQL Databases
1.7 Forwarding Ports
1.8 Run Your Server
2.0 Creating a Webserver & Running "Spora"
3.0 Disclaimer
3.1 Links
3.2 Thanks To
__________________________________________________________________________
1.0 Installing Ubuntu
What is Ubuntu? Ubuntu is just like the Windows computer, an operating system (OS). It is alot more stable and harder to use but has its ups and downs. Installing Ubuntu on your computer will get rid of all files and your Windows OS that came installed on it. It will make your computer completely different so be sure you want to do this. You have been warned and I will not take any blame/part in the harm this may do to your computer.
Alright. First off you need to download the .iso. To obtain the .iso go to http://www.ubuntu.com/getubuntu/download.
Screenshot
It will take a long time to download Ubuntu because this is the file that has everything that's going to install a new OS.
When the file is done downloading, you will need to install a program called "ISO Recorder". Click here for the download page. I did not make this program.
Install that properly and then find a DVD+R(W) disc. I used a DVD+R disc made by "FUJIFILM" that holds 4.7 / 120 Min. It has up to 8x write speed. Put your disc into the DVD drive or if you only have one drive, just put it in there.
Picture of the CD
Picture of 2 drives
The top drive is the DVD driver.
Once you have put the blank CD into the disc drive, go to your computer and find where the ubuntu ISO was downloaded to (Possibly your desktop or documents). Right click on the .iso file you downloaded and find "Write to CD" or create image, something like that (Not sure). It should have already selected the blank CD and said it is ready to use or something. Click next and it should start writing to the disc, do not turn off the computer or eject the CD during this time. When it's finished, it will eject automatically. Put the CD back into the computer and turn the computer off correctly.
Start the computer up (I no longer have an image)
Select the first option by pressing ENTER. It will take some time to load up the live cd.
Double click on "Install" and in a few moments a window will pop up.
Follow the on screen instructions until it starts installing.
DO NOT power down or eject the CD at all, or everything will be gone and no progress will have taken place except for a useless HD.
Restart, take the CD out like it says and let it load up again.
Login with your username and password (case sensative) and here is your new desktop:
http://www.ehomeupgrade.com/media/ub...screenshot.jpg
My Ubuntu (8.04 LTS)
If it says you have updates, install them because you will need to have a full updated system.
We have finished installing Ubuntu, but I would like you to check something before we move on. Go to System > Administration > Software Sources
It will now prompt you for your password, so enter it. A window will popup. Make sure that "Community-maintainted Open Source software (universal) is checked (enabled).
If it was not originally enabled, then go to your terminal afterwards and type "sudo apt-get update" and it will update your sources.list (sudo is needed)
1.1 Installing The Needed Files
Ok, so you have your fresh new Ubuntu installation and we need the needed "packages" to run Ascent on Linux. The following is a list of commands you will need to type in the Terminal (Application > Accessories > Terminal). It will take some time between each installation of the packages so you can only do one command at a time.
Code:
sudo apt-get install mysql-server
sudo apt-get install libmysql++-dev
sudo apt-get install libssl-dev
sudo apt-get install libssl0.9.8
sudo apt-get install build-essential
sudo apt-get install subversion
sudo apt-get install automake
sudo apt-get install libtool
sudo apt-get install libpcre++0
sudo apt-get install libpcre++-dev
sudo apt-get install libzzip-0-13
sudo apt-get install libzzip-dev
sudo apt-get install zlibc
Yes, a big list and lots of time it needs. Some things may be missing and some may not need to be installed. If you have errors tell me and I'll research it, thats what I did for my errors.
1.2 Create The mySQL Databases
First off, you need to configure and do some other stuff to mySQL which you previously installed. Go to your Terminal and type:
It will ask for your password that you entered during the installation of mysql-server, insert it and hit enter.
Now you should be in mysql so it the command line shows "mysql> "
Type the following commands, also the semi colon is needed at the end of every command in mysql except for quit. Type them in order ( ; )
Code:
create database character;
create database world;
create database logon;
quit
If you have a problem creating the databases such as this error:
Code:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character' at line 1
You should instead follow this:
Code:
create database `character`;
create database `world`;
create database `logon`;
quit
Thanks to "Soneca" for that problem being solved.
1.3 Downloading Ascent
We finally got to the Ascent related parts. Go to your Terminal (The Terminal is everything in Linux) and type the following commands (case sensative):
Code:
cd Documents
mkdir WoW
cd WoW
svn co http://mmoforge.org/svn/ascent/
I'll tell you what some of these do...
cd Documents will move you to the folder Documents. It's not visual like Windows.
mkdir WoW creates the folder, or directory, called WoW.
cd WoW is explained in "cd Documents"
svn co http://mmoforge.org/svn/ascent/ downloads the ascent files.
When you do the last command (svn co http://mmoforge.org/svn/ascent/), it will ask you first for your password, then a login name which you will type "anonymous" and leave the password completely blank. This will start downloading and will take some time so go get coffee or whatever, maybe watch sportsnet :D
Done? Nope! Your about 3/4's the way there, so lets hold off the celebration. You now need to type the following, oh and I'm suspecting your still in the WoW directory:
Code:
cd ascent
cd Trunk
sudo mkdir etc
sudo mkdir bin
sudo autoreconf --force --install
sudo ./configure
sudo make
sudo make install
If you encounter any errors in ./configure and below, I can probably help you because I had run into many errors because of missing packages. Just make a post or PM me.
"sudo make" takes a long time so you might just start a movie, thats what I did.
Alright so after make is done and make install is done, you want to move the 4 files that were created automatically in /bin/ to /etc/. How do you do this in a command? Easy. The other guide did not state this very clearly and I had to google for the right command.
Make sure you are in the folder /trunk/ and type this:
1.4 Configuring Ascent's Files
Ok the last steps to this guide are almost here. I noticed another flaw in the old guide. He/She did not tell you that you were supposed to go into the directory src, which is inside of trunk, and then edit the files.
So as we were. In your terminal (assuming your still in the directory trunk) type the cd command to go into the directory src, if you have not figured out the cd command it is the following:
Now what your going to do is type "sudo pico ascent-world.conf"
To scroll down use the arrow keys. Find the following and change it to what I specified it to be:
Code:
- Change host to localhost.
- Change username to root.
- Change passwd to the password you set for the MySQL server.
- Change the top database to world.
- Change the bottom database to character.
- Delete the first die directive. (<die msg=”I am a newb who didn’t even read half my config file!”>).
- Change the remote password change_me_world to whatever you want.
- Delete the second die directive. (die2 msg=”I read nearly all my config file, but not the whole thing!”> ).
Once your sure you are done, press CTRL+X, type Y and then enter.
Use the guide for setting up a Windows server for all the configuration files and what you need to change here. I will finish this particular part soon.
1.5 DBC & Maps
Coming soon (Probably today, I'm trying to find working files)
1.6 Importing mySQL Databases
Reserved
1.7 Forwarding Ports
Reserved
1.8 Run Your Server
Reserved
2.0 Creating a Webserver & Running "Spora"
Reserved
3.0 Disclaimer
Reserved
3.1 Links
Reserved
3.2 Thanks To
Reserved
-------------------
The guide is still not finished.
-
Re: [Ascent][Linux]New & Improved Guide
Thanks Nice guide people like you help me cause next week am getting a new server and i want lunix so that will help me to do it but people have done guides like this
-
Re: [Ascent][Linux]New & Improved Guide
Good to know your picking Linux. I'll be more than glad to help you with any problems.
I noticed something happened to my guide and things dissapeared...was there a rollback? And why did all the [img] things go away? :\
-
Re: [Ascent][Linux]New & Improved Guide
Great guide !!! All is so easy ti understand :)
But what is with http://www.ascentemu.com/ ???
-
Re: [Ascent][Linux]New & Improved Guide
Thanks for the great guide. Although i installed everything except the database, coz the tool.sh seems not to work (ubuntu 8.04). Maybe some alterations to make it work?
-
Re: [Ascent][Linux]New & Improved Guide
Thanks a lot for this guide, i hope you finish the guide soon :p
I don't know if anyone had any problem but i only had a small one, when i tried to create the database in mysql, the character database gave me this error:
Code:
mysql> create database character;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character' at line 1
Probably this happened because i am using Ubuntu 8.04... If anyone knows what the problem is, please post :)
-
Re: [Ascent][Linux]New & Improved Guide
use
Code:
create database `character`;
-
Re: [Ascent][Linux]New & Improved Guide
Thanks a lot, now it worked right :biggrinth
Now i just need the maps, characters and all that and to learn how to start the server :punch:
-
Re: [Ascent][Linux]New & Improved Guide
Your guide is very good it helped me alot :biggrinth waiting for you to finish this guide :closedeye
-
Re: [Ascent][Linux]New & Improved Guide
Do i get a credits part?
http://forum.ragezone.com/showthread.php?t=368969
seems some of it is mine :)
never midn though, happy you did this. Thanks
regards,
Seb
-
Re: [Ascent][Linux]New & Improved Guide
Thank you so much for this tutorial !
I did all you said , but when I type " sudo make " , it give me this :
[code]...........................................................................
test -f 'Database/dbcfile.cpp' || echo './'`Database/dbcfile.cpp
Database/dbcfile.cpp: In destructor
-
Re: [Ascent][Linux]New & Improved Guide
will this work on gentoo?
-
Re: [Ascent][Linux]New & Improved Guide
I'm starting to work on this again and I'll try to help you with problems as well.
Right now, I'm downloading map files from "DjAligator" to see if they will work, hopefully they will. I also downloaded his DBC files.
I won't be changing this to an ArcEmu guide because I tried installing it today and for some odd reason the ./configure wouldn't even work (Probably missed a step) but I already saw a good enough guide so I'll leave it).
I use Ubuntu 8.04 with the latest updates and I do think this guide will work with other distributions but not completely. I'll have different topic's for different distro's soon (maybe).
Quote:
Originally Posted by
Kalandi
Thank you so much for this tutorial !
I did all you said , but when I type " sudo make " , it give me this :
Code:
...........................................................................
test -f 'Database/dbcfile.cpp' || echo './'`Database/dbcfile.cpp
Database/dbcfile.cpp: In destructor ‘DBCFile::~DBCFile()’:
Database/dbcfile.cpp:32: error: ‘free’ was not declared in this scope
Database/dbcfile.cpp:34: error: ‘free’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘bool DBCFile::open(const char*)’:
Database/dbcfile.cpp:56: error: ‘malloc’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘int DBCFile::AddRecord()’:
Database/dbcfile.cpp:117: error: ‘realloc’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘int DBCFile::AddString(const char*)’:
Database/dbcfile.cpp:148: error: ‘realloc’ was not declared in this scope
make[3]: *** [dbcfile.o] Error 1
make[3]: Leaving directory `/root/Documents/WoW/ascent/trunk/src/ascent-shared'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Documents/WoW/ascent/trunk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Documents/WoW/ascent/trunk'
make: *** [all] Error 2
Can you help me please ? I'm new in Linux and I use Fedora
Thank you !
I think you may have edited the wrong file, so I suggest starting over because it looks like you or something messed it up.
Quote:
Originally Posted by
sebkinne
Yes, you will get credits in "Thanks To" and I also mentioned your guide at the top.
-
Re: [Ascent][Linux]New & Improved Guide
Quote:
Originally Posted by
Kalandi
Thank you so much for this tutorial !
I did all you said , but when I type " sudo make " , it give me this :
Code:
...........................................................................
test -f 'Database/dbcfile.cpp' || echo './'`Database/dbcfile.cpp
Database/dbcfile.cpp: In destructor ‘DBCFile::~DBCFile()’:
Database/dbcfile.cpp:32: error: ‘free’ was not declared in this scope
Database/dbcfile.cpp:34: error: ‘free’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘bool DBCFile::open(const char*)’:
Database/dbcfile.cpp:56: error: ‘malloc’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘int DBCFile::AddRecord()’:
Database/dbcfile.cpp:117: error: ‘realloc’ was not declared in this scope
Database/dbcfile.cpp: In member function ‘int DBCFile::AddString(const char*)’:
Database/dbcfile.cpp:148: error: ‘realloc’ was not declared in this scope
make[3]: *** [dbcfile.o] Error 1
make[3]: Leaving directory `/root/Documents/WoW/ascent/trunk/src/ascent-shared'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Documents/WoW/ascent/trunk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Documents/WoW/ascent/trunk'
make: *** [all] Error 2
Can you help me please ? I'm new in Linux and I use Fedora
Thank you !
Its a improvement of gcc/g++... i had the same problem.
http://gcc.gnu.org/gcc-4.3/porting_to.html
As you can see, the function 'free' is missing...
to fix it open the file 'dbcfile.cpp' located in 'src/ascent-shared/Database'
search for the line
and write at the bottom of the line
It works at my Linux Debian with gcc-4.3 ... Try it out
-
Re: [Ascent][Linux]New & Improved Guide
Just plain great, I just hope you finish it someday ;)
Althought I ahve an issue when copying files from bin to etc:
This is translated from my language by me ;)
sudo cp bin/* etc/
cp: can't do `stat' over
-
Re: [Ascent][Linux]New & Improved Guide
Ill slap you !
Never run any non-system application as ROOT!
chown -R <user>:<group> /path/to/ascent
The bin/ directory will be filled automatic with 2 binarys (i think ascent-logon and ascent-world) or 1 more...
etc/ must be created by yourself and then copy the configs over...
cp /path/to/ascent/src/*.conf /path/to/ascent/etc/
-
Re: [Ascent][Linux]New & Improved Guide
Can i ask why u use Ubuntu with user interface?
U just could download the server.
awh well. now u cant do as much users as server but its way more easier.
i think ill try this. :)
Edit:
DJFelipe in Ubuntu u dont have a root user.
u use the sudo command to do root commands.
so what u say is nonsense
Edit 2:
What DB are u going to use?
xD
-
Re: [Ascent][Linux]New & Improved Guide
you can have root, and you have su command to get super user ;)
the bin/ directory is empty O.o, and got no warnings nor errors during compile, that's why I thought could be cause of user...
Redid configure and make parts after chown and worked, thanks! ;)
Now triing to find some easy updated database files, damn I dunno what are world (i guess most), character or logon :P
-
Re: [Ascent][Linux]New & Improved Guide
Hello , i have a question about compile
I have downloaded from the svn with eclipse. How can compile the gs with eclipse?
-
Re: [Ascent][Linux]New & Improved Guide
I have problem :(
Code:
./configure
checking lib pcre... (testing)
checking for pcre_study in -lpcre... no
checking for pcre_compile in -lpcre... no
checking lib pcre... no, (WARNING)
configure: error: Couldn't find pcre library. Make sure your pcre path is correct.
locate libpcre
/usr/lib/libpcre.so.3
/usr/lib/libpcre.so.3.12.1
/usr/lib/libpcreposix.so.3
/usr/lib/libpcreposix.so.3.12.1
/usr/lib32/libpcre.so.3
/usr/lib32/libpcre.so.3.12.1
/usr/lib32/libpcreposix.so.3
/usr/lib32/libpcreposix.so.3.12.1
/usr/share/doc/libpcre3
/usr/share/doc/libpcre3/AUTHORS
/usr/share/doc/libpcre3/NEWS.gz
/usr/share/doc/libpcre3/README.Debian
/usr/share/doc/libpcre3/README.gz
/usr/share/doc/libpcre3/changelog.Debian.gz
/usr/share/doc/libpcre3/changelog.gz
/usr/share/doc/libpcre3/copyright
/var/lib/dpkg/info/libpcre3.list
/var/lib/dpkg/info/libpcre3.md5sums
/var/lib/dpkg/info/libpcre3.postinst
/var/lib/dpkg/info/libpcre3.postrm
/var/lib/dpkg/info/libpcre3.shlibs
Can any one help me pls... i use ubuntu 2.6.24-16-server
-
Re: [Ascent][Linux]New & Improved Guide
Hi
I have downloaded Ascent, compile and used NCDP Databse and everything workes fine except for the scripts. Im guessing its coz i have to intergrate moon scripts with Ascent. When i try to do it, i get an error when compiling ascent with moonscripts. how do i do this?
Thanks
-
Re: [Ascent][Linux]New & Improved Guide
Good to see someone support Linux :D
-
Re: [Ascent][Linux]New & Improved Guide
Im a linux nut :)
Does any1 know how to compile ascent with moonscripts?
Thanks
-
Re: [Ascent][Linux]New & Improved Guide
Help me pls!
./configure:
Code:
checking for gcc architecture flag...
checking for x86 cpuid 0 output... unknown
checking for x86 cpuid 1 output... unknown
checking whether C compiler accepts -march=pentiumpro... yes
checking for gcc architecture flag... -march=pentiumpro
: not foundvn_revision.sh: 2:
: not foundvn_revision.sh: 5:
: not foundvn_revision.sh: 17:
mv: cannot stat `svn_revision.h': No such file or directory
: not foundvn_revision.sh: 19:
configure: creating ./config.status
.infig.status: error: cannot find input file:
:grr:
If i use core svn co http://www.arcemu.info/svn/ -r 2142 in "make" i have new error:
Code:
Database/DBCStores.h:1584: warning: result ‘size_t fread(void*, size_t, size_t, FILE*)’, Declared with attribute warn_unused_result, ignored
Database/DBCStores.h:1603: warning: result ‘size_t fread(void*, size_t, size_t, FILE*)’, Declared with attribute warn_unused_result, ignored
Database/DBCStores.h: In member function ‘void DBCStorage<T>::ReadEntry(FILE*, T*, const char*, uint*** const char*) [with T = GemPropertyEntry]’:
Database/DBCStores.h:1534: instantiated from ‘bool DBCStorage<T>::Load(const char*, const char*, bool, bool) [with T = GemPropertyEntry]’
Database/DBCStores.cpp:321: instantiated from ‘bool loader_stub(const char*, const char*, bool, T&, bool) [with T = DBCStorage<GemPropertyEntry>]’
Database/DBCStores.cpp:340: instantiated from here
Database/DBCStores.h:1584: warning: result ‘size_t fread(void*, size_t, size_t, FILE*)’, Declared with attribute warn_unused_result, ignored
Database/DBCStores.h:1603: warning: result ‘size_t fread(void*, size_t
and
Code:
g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/include -I/usr/local/include -I. -g -O2 -I/usr/include -I/usr/local/include -Wall -fno-strict-aliasing -std=gnu++0x -pthread -I/usr/include/openssl -DHAVE_SSL -g -D__DEBUG__ -I/usr/include/mysql -DBIG_JOINS=1 -fPIC -MT SocketLinux.o -MD -MP -MF .deps/SocketLinux.Tpo -c -o SocketLinux.o `test -f 'Network/SocketLinux.cpp' || echo './'`Network/SocketLinux.cpp
Network/SocketLinux.cpp:50: Error: Prototype for ‘void Socket::WriteCallback()’ Has no correspondence in a class ‘Socket’
Network/Socket.h:81: Error: challenger: void Socket::WriteCallback(uint32)
make[3]: *** [SocketLinux.o] Error 1
make[3]: Leaving directory `/home/darvel/installer/arcemu/svn/trunk/src/arcemu-shared'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/darvel/installer/arcemu/svn/trunk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/darvel/installer/arcemu/svn/trunk'
make: *** [all] Error 2
- don't work
It would be desirable to customise a kernel with arcemu.org
//Sorry, delite this post, i wright in http://forum.ragezone.com/f516/ascen...9/index12.html
-
Re: [Ascent][Linux]New & Improved Guide
i am getting the exact same stupid error with the latest revision. i got the 2130 revision and was able to run ./configure with no problems.
I am running 2 boxes, one is centos4 and the other is centos 5.
checking sys/epoll.h usability... yes
checking sys/epoll.h presence... yes
checking for sys/epoll.h... yes
checking for epoll_ctl... yes
checking for mysql_config... /usr/bin/mysql_config
checking for MySQL libraries... yes
checking if MySQL version is >= 5.0... yes
checking lib pcre... (testing)
checking for pcre_study in -lpcre... yes
checking lib pcre... -lpcre
checking for gcc architecture flag...
checking for x86 cpuid 0 output... a:756e6547:6c65746e:49656e69
checking for x86 cpuid 1 output... 6fb:7020800:4e3bd:bfebfbff
checking whether C compiler accepts -march=pentiumpro... yes
checking for gcc architecture flag... -march=pentiumpro
: command not foundion.sh: line 2:
: command not foundion.sh: line 5:
: command not foundion.sh: line 17:
mv: cannot stat `svn_revision.h': No such file or directory
: command not foundion.sh: line 19:
configure: creating ./config.status
config.status: creating
.infig.status: error: cannot find input file: