Update of /cvsroot/planeshift/planeshift/docs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12333
Modified Files:
compiling-visualc.txt history.txt
Added Files:
compiling-debian.txt compiling-gentoo.txt
compiling-slackware.txt
Log Message:
Linux build guides
--- NEW FILE: compiling-debian.txt ---
Planeshift Guide To Compiling on Debian
==========================================
By Arianna Benigno (29/09/05), based on the one made by Andrew Craig available on http://laanx.fragnetics.com
This guide gives a fairly detailed description on how to get a working client up and running in Debian.
It gives instructions on how to get all the required tools and how to check out the source code and configure it.
At the end there you will have a PlaneShift client and a PlaneShift updater application.
BE CAREFUL: AT THE MOMENT (29/09/2005) PLANESHIFT TEAM IS DEVELOPING USING CS and CEL FROM the 5th of SEPTEMBER!
1. Set Working Environment
==========================
The first thing you want to do is setup a working dir where you will do the builds. In this case I will use:
/home/andrew/development/
So, create the directory:
mkdir /home/andrew/development/
You can use whatever directory you want but be sure to use the same one thoughout the document.
Next you will need several tools.
#apt-get install bison-1.35 flex-old libmng-dev libmikmod2-dev libogg-dev
libvorbis-dev zlib1g-dev libpng3-dev libjpeg62-dev xlibmesa-glu-dev python2.3-dev autoconf
automake1.8 libcurl3-dev jam
Optional: if you have the intentions to run the server you have to add mysql.
2. Download and Build
=====================
A) Download and Build Cal3D library
-----------------------------------
We need to build cal3d from source before we can start on Crystal Space. Cal3d is a library that is used for
handling skeleton systems. This is a very nice system and can allow for fluid transformations between animations.
This needs to be built/installed first because when we configure Crystal Space it has to find the cal3d libraries
so it can know to build the sprcal3d plugin.
First step is to check out the source code from CVS:
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cal3d
Since cal3d is a library in development we probably don't want to 'install' this one as root since there is a good
possiblity it will change in the future. Instead we will 'install' it into our working directory. This is done
by using the -prefix option when we configure it.
/home/andrew/development/cal3d$ ./autogen.sh
/home/andrew/development/cal3d$ ./configure --prefix=/home/andrew/development/cal3d
/home/andrew/development/cal3d$ make
Because we did not install cal3d we need to make sure other things can find it. This is done using the LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/home/andrew/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
B) Download and Build Crystal Space (CS)
----------------------------------------
Crystal Space is the cross platform engine that we use for rendering and sound. First need to check out the code for it:
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" CS
Now we can build it (in debug mode) and use the configure line to tell it where we installed the cal3d libraries.
To do this just use the prefix line that was used for Cal3d above.
/home/andrew/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d CPPFLAGS="-I ../cal3d/src/"
/home/andrew/development/CS$ jam -aq libs plugins cs-config
If you prefer to compile one step at the time do:
/home/andrew/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d CPPFLAGS="-I ../cal3d/src/"
/home/andrew/development/CS$ jam -a libs
/home/andrew/development/CS$ jam -a plugins
/home/andrew/development/CS$ jam -a cs-config
We should add the CRYSTAL environment variable to the .bashrc file so applications outside the Crystal Space
tree know where to find the .so's.
export CRYSTAL=/home/andrew/development/CS
C) Download and Build Crystal Entity Layer (CEL)
------------------------------------------------
CEL is Crystal Space Entity Layer. It's a layer on top of Crystal Space that is used for entity and behaviour control.
We need to add a couple more things to the .bashrc for CEL.
export CEL=/home/andrew/development/cel
export CSCONFPATH=/home/andrew/development/cel
Now check out the code and build.
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cel
Now we can build it (in debug mode)
/home/andrew/development/cel$ ./configure --enable-debug --without-python
/home/andrew/development/cel$ jam -aq
D) Download and Build Planeshift (PS)
-------------------------------------
First get the source code.
/home/andrew/development$ cvs -d:pserver:anonymous@... login
( just hit enter for password )
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" planeshift
Configure and build now:
/home/andrew/development/planeshift$ ./autogen.sh
/home/andrew/development/planeshift$ ./configure --enable-debug --with-libcal3d=/home/andrew/development/cal3d
/home/andrew/development/planeshift$ jam -aq
This should have created all PS applications, and in particular, psclient and psupdater, which are necessary
if you simply want to play on the official server.
H) Updating CS and CEL
----------------------
If in the future you have the intentions to update cal3D, CS, CEL or PS because the team has decided to use another date or
because you feel like you want to update it, instead of doing a checkout you have simply to update.
Please, remember that cal3D, CS and CEL must be of the same date, while PS can be also newer. Don't mix up versions and dates!
If you want to update to a new date:
/home/andrew/development$ cvs -z3 -dP -D "2005-xx-xx 00:00:00" cal3d
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" CS
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" cel
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" planeshift
If you want to update to present time you have to remove the sticky date tag, like this:
/home/andrew/development$ cvs -z3 update -dP -A cal3d
/home/andrew/development$ cvs -z3 update -dP -A CS
/home/andrew/development$ cvs -z3 update -dP -A cel
/home/andrew/development$ cvs -z3 update -dP -A planeshift
Obviously, after updating you have to compile again.
Before doing it you have to do
jam clean
for each project you want to jam again.
So, for example, if you want to rebuild CEL you will do:
/home/andrew/development/cel$ jam clean
/home/andrew/development/cel$ jam -aq
3. Get the Art
==============
If you want to use your client for playing you need to get the proper Art.
The artwork for PlaneShift is not included in the CVS. However this is what the updater application is for. This
connects to our update central site and downloads all the missing material. For linux all you need is updated art
and data files. This is done by editing the updaterconfig.xml file and first setting the mirror to use. Our mirror is:
<mirror id="1" name="Laanx" url="http://psteam:p1ane@...>" repository="repository.zip" files="" />
Now adjust the <modules> section to only have art and data. You can now start the updater. On the first wrong
the updater will look very bad since it does not yet have the art work. Nevertheless, let the updater run
for a long time. There may be upwards of 200 MB of data to download.
Run the updater like:
/home/andrew/develoment/planeshift$ ./updater
Or
/home/andrew/development/planeshift$ ./updater --auto
for the non-visual one.
Now you have to make sure PlaneShift.GUI.Imagefile is set to /planeshift/data/gui/releaselist.xml in planeshift.cfg. It should look like this:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/releaselist.xml
If it was having ";" in front, remove it and add it to:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
so it looks like:
;PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
Once this is complete PS should be ready to run. Be sure to create your account first at our registration page (http://laanx.fragnetics.com/register).
4. Getting the Server up
========================
A) Create the Database
----------------------
Make sure that MySQL is running. The MySQL website is http://www.mysql.com/.
You can start your MySQL server in this way:
# /etc/init.d/mysql start
Then:
$ mysql -u username -ppassword
default username is root with no password
mysql>create database planeshift;
mysql>GRANT ALL PRIVILEGES ON *.* TO planeshift@... IDENTIFIED BY 'planeshift' WITH GRANT OPTION;
mysql>quit
$ cd home/andrew/development/planeshift/src/server/database/mysql/
home/andrew/development/planeshift/src/server/database/mysql/$ mysql -u planeshift -pplaneshift
mysql> use planeshift;
mysql> source create_all.sql;
mysql> quit
The database planeshift has now been created for planeshift to use.
B) Start the Server
--------------------
Go to your PlaneShift directory (home/andrew/development/planeshift) and run psserver, this will start the server.
Once the server has been started, you should see a "PS Server:" prompt.
Type the following to load the correct map and spawn all items and NPCs:
loadmap npcroom
spawn
ready
NOTE: If you get any problems with psserver, make sure you have the latest version of MySQL and that your
libMySQL.dll file in WINDOWS\system32 is the same as the one in mysql\lib\opt.
If you want to investigate functions of psserver type help to get a list of all the available commands
and a short of description of them.
You should now be able to start psclient.exe and log in.
The following accounts work(user/pass):
Vengeance/keith
acraig/andrew
guest/guest
5. Mini Scripts
===============
You might want to create some script so that you don't have to manually type in the environment variables every
time. In this way you can also have multiple versions of planeshift coexisting peacefully.
$ echo \#\!/bin/sh > planeshiftserver.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftserver.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftserver.sh
$ echo "export CSCONFPATH=$PWD/CS/" >> planeshiftserver.sh
$ echo "cd $PWD/planeshift" >> planeshiftserver.sh
$ echo "./psserver \$@" >> planeshiftserver.sh
$ chmod +x planeshiftserver.sh
$ echo \#\!/bin/sh > planeshiftclient.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftclient.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftclient.sh
$ echo "export CSCONFPATH=$PWD/CS" >> planeshiftclient.sh
$ echo "cd $PWD/planeshift/" >> planeshiftclient.sh
$ echo "./psclient \$@" >> planeshiftclient.sh
$ chmod +x planeshiftclient.sh
5. Getting Help
================
If you have trouble getting any of this to work, please feel free to contact me and I will do my best to help.
Email: acraig@... There is also an IRC channel dedicated to providing help with building PlaneShift.
Server: irc.freenode.com
Channel #PlaneShift-Build
--- NEW FILE: compiling-gentoo.txt ---
Planeshift Guide To Compiling on Gentoo
==========================================
By Arianna Benigno (29/09/05), based on the one made by Andrew Craig available on http://laanx.fragnetics.com
This guide gives a fairly detailed description on how to get a working client up and running in Gentoo.
It gives instructions on how to get all the required tools and how to check out the source code and configure it.
At the end there you will have a PlaneShift client and a PlaneShift updater application.
BE CAREFUL: AT THE MOMENT (29/09/2005) PLANESHIFT TEAM IS DEVELOPING USING CS and CEL FROM the 5th of SEPTEMBER!
1. Set Working Environment
==========================
The first thing you want to do is setup a working dir where you will do the builds. In this case I will use:
/home/andrew/development/
So, create the directory:
mkdir /home/andrew/development/
You can use whatever directory you want but be sure to use the same one thoughout the document.
Next you will need a tool called Jam. Jam is a replacement for make. It's a bit easier to maintain and create
custom builds. Jam is already in portage and is easily emerged:
#emerge jam
Next you will need the libcurl library. This is library that is used for HTTP protocol. It is what the updater
application uses to update the client. This package can be emerged as well:
#emerge curl
Get CVS so you can check out the source code.
#emerge cvs
Optional: if you have the intentions to run the server you have to emerge mysql:
#emerge mysql
2. Download and Build
=====================
A) Download and Build Cal3D library
-----------------------------------
We need to build cal3d from source before we can start on Crystal Space. Cal3d is a library that is used for
handling skeleton systems. This is a very nice system and can allow for fluid transformations between animations.
This needs to be built/installed first because when we configure Crystal Space it has to find the cal3d libraries
so it can know to build the sprcal3d plugin.
First step is to check out the source code from CVS:
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cal3d
Since cal3d is a library in development we probably don't want to 'install' this one as root since there is a good
possiblity it will change in the future. Instead we will 'install' it into our working directory. This is done
by using the -prefix option when we configure it.
/home/andrew/development/cal3d$ ./autogen.sh
/home/andrew/development/cal3d$ ./configure --prefix=/home/andrew/development/cal3d
/home/andrew/development/cal3d$ make
/home/andrew/development/cal3d$ make install
Because we did not install cal3d we need to make sure other things can find it. This is done using the LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/home/andrew/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
B) Download and Build Crystal Space (CS)
----------------------------------------
Crystal Space is the cross platform engine that we use for rendering and sound. First need to check out the code for it:
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" CS
Now we can build it (in debug mode) and use the configure line to tell it where we installed the cal3d libraries.
To do this just use the prefix line that was used for Cal3d above.
/home/andrew/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d
/home/andrew/development/CS$ jam -aq libs plugins cs-config
If you prefer to compile one step at the time do:
/home/andrew/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d
/home/andrew/development/CS$ jam -a libs
/home/andrew/development/CS$ jam -a plugins
/home/andrew/development/CS$ jam -a cs-config
We should add the CRYSTAL environment variable to the .bashrc file so applications outside the Crystal Space
tree know where to find the .so's.
export CRYSTAL=/home/andrew/development/CS
C) Download and Build Crystal Entity Layer (CEL)
------------------------------------------------
CEL is Crystal Space Entity Layer. It's a layer on top of Crystal Space that is used for entity and behaviour control.
We need to add a couple more things to the .bashrc for CEL.
export CEL=/home/andrew/development/cel
export CSCONFPATH=/home/andrew/development/cel
Now check out the code and build.
/home/andrew/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cel
Now we can build it (in debug mode)
/home/andrew/development/cel$ ./configure --enable-debug --without-python
/home/andrew/development/cel$ jam -aq
D) Download and Build Planeshift (PS)
-------------------------------------
First get the source code.
/home/andrew/development$ cvs -d:pserver:anonymous@... login
( just hit enter for password )
/home/andrew/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" planeshift
Configure and build now:
/home/andrew/development/planeshift$ ./autogen.sh
/home/andrew/development/planeshift$ ./configure --enable-debug --with-libcal3d=/home/andrew/development/cal3d
/home/andrew/development/planeshift$ jam -aq
This should have created all PS applications, and in particular, psclient and psupdater, which are necessary
if you simply want to play on the official server.
H) Updating CS and CEL
----------------------
If in the future you have the intentions to update cal3D, CS, CEL or PS because the team has decided to use another date or
because you feel like you want to update it, instead of doing a checkout you have simply to update.
Please, remember that cal3D, CS and CEL must be of the same date, while PS can be also newer. Don't mix up versions and dates!
If you want to update to a new date:
/home/andrew/development$ cvs -z3 -dP -D "2005-xx-xx 00:00:00" cal3d
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" CS
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" cel
/home/andrew/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" planeshift
If you want to update to present time you have to remove the sticky date tag, like this:
/home/andrew/development$ cvs -z3 update -dP -A cal3d
/home/andrew/development$ cvs -z3 update -dP -A CS
/home/andrew/development$ cvs -z3 update -dP -A cel
/home/andrew/development$ cvs -z3 update -dP -A planeshift
Obviously, after updating you have to compile again.
Before doing it you have to do
jam clean
for each project you want to jam again.
So, for example, if you want to rebuild CEL you will do:
/home/andrew/development/cel$ jam clean
/home/andrew/development/cel$ jam -aq
3. Get the Art
==============
If you want to use your client for playing you need to get the proper Art.
The artwork for PlaneShift is not included in the CVS. However this is what the updater application is for. This
connects to our update central site and downloads all the missing material. For linux all you need is updated art
and data files. This is done by editing the updaterconfig.xml file and first setting the mirror to use. Our mirror is:
<mirror id="1" name="Laanx" url="http://psteam:p1ane@...>" repository="repository.zip" files="" />
Now adjust the <modules> section to only have art and data. You can now start the updater. On the first wrong
the updater will look very bad since it does not yet have the art work. Nevertheless, let the updater run
for a long time. There may be upwards of 200 MB of data to download.
Run the updater like:
/home/andrew/develoment/planeshift$ ./updater
Or
/home/andrew/development/planeshift$ ./updater --auto
for the non-visual one.
Now you have to make sure PlaneShift.GUI.Imagefile is set to /planeshift/data/gui/releaselist.xml in planeshift.cfg. It should look like this:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/releaselist.xml
If it was having ";" in front, remove it and add it to:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
so it looks like:
;PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
Once this is complete PS should be ready to run. Be sure to create your account first at our registration page (http://laanx.fragnetics.com/register).
4. Getting the Server up
========================
A) Create the Database
----------------------
Make sure that MySQL is running. The MySQL website is http://www.mysql.com/.
You can start your MySQL server in this way:
# /etc/init.d/mysql start
Then:
$ mysql -u username -ppassword
default username is root with no password
mysql>create database planeshift;
mysql>GRANT ALL PRIVILEGES ON *.* TO planeshift@... IDENTIFIED BY 'planeshift' WITH GRANT OPTION;
mysql>quit
$ cd home/andrew/development/planeshift/src/server/database/mysql/
home/andrew/development/planeshift/src/server/database/mysql/$ mysql -u planeshift -pplaneshift
mysql> use planeshift;
mysql> source create_all.sql;
mysql> quit
The database planeshift has now been created for planeshift to use.
B) Start the Server
--------------------
Go to your PlaneShift directory (home/andrew/development/planeshift) and run psserver, this will start the server.
Once the server has been started, you should see a "PS Server:" prompt.
Type the following to load the correct map and spawn all items and NPCs:
loadmap npcroom
spawn
ready
NOTE: If you get any problems with psserver, make sure you have the latest version of MySQL and that your
libMySQL.dll file in WINDOWS\system32 is the same as the one in mysql\lib\opt.
If you want to investigate functions of psserver type help to get a list of all the available commands
and a short of description of them.
You should now be able to start psclient.exe and log in.
The following accounts work(user/pass):
Vengeance/keith
acraig/andrew
guest/guest
5. Mini Scripts
===============
You might want to create some script so that you don't have to manually type in the environment variables every
time. In this way you can also have multiple versions of planeshift coexisting peacefully.
$ echo \#\!/bin/sh > planeshiftserver.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftserver.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftserver.sh
$ echo "export CSCONFPATH=$PWD/CS/" >> planeshiftserver.sh
$ echo "cd $PWD/planeshift" >> planeshiftserver.sh
$ echo "./psserver \$@" >> planeshiftserver.sh
$ chmod +x planeshiftserver.sh
$ echo \#\!/bin/sh > planeshiftclient.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftclient.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftclient.sh
$ echo "export CSCONFPATH=$PWD/CS" >> planeshiftclient.sh
$ echo "cd $PWD/planeshift/" >> planeshiftclient.sh
$ echo "./psclient \$@" >> planeshiftclient.sh
$ chmod +x planeshiftclient.sh
5. Getting Help
================
If you have trouble getting any of this to work, please feel free to contact me and I will do my best to help.
Email: acraig@... There is also an IRC channel dedicated to providing help with building PlaneShift.
Server: irc.freenode.com
Channel #PlaneShift-Build
--- NEW FILE: compiling-slackware.txt ---
Planeshift Guide To Compiling on Gentoo
==========================================
By Arianna Benigno (29/09/05), based on the one made by Platyna available on http://laanx.fragnetics.com
This guide gives a fairly detailed description on how to get a working client up and running in Slackware.
It gives instructions on how to get all the required tools and how to check out the source code and configure it.
At the end there you will have a PlaneShift client and a PlaneShift updater application.
BE CAREFUL: AT THE MOMENT (29/09/2005) PLANESHIFT TEAM IS DEVELOPING USING CS and CEL FROM the 5th of SEPTEMBER!
1. Set Working Environment
==========================
The first thing you want to do is setup a working dir where you will do the builds. In this case I will use:
/home/development/
So, create the directory:
mkdir /home/development/
You can use whatever directory you want but be sure to use the same one thoughout the document.
Next you will need a tool called Jam. Jam is a replacement for make. It's a bit easier to maintain and create
custom builds. You can find it at:
ftp://ftp.perforce.com/pub/jam/ - install it system wide
You will need also a CVS client. It should be already installed, if not you can find it in the directory
slackware/d/ on your SlackWare CD or at:
ftp://ftp.slackware.at
Optional: if you have the intentions to run the server you will need also MySQL.
2. Download and Build
=====================
A) Download and Build Cal3D library
-----------------------------------
We need to build cal3d from source before we can start on Crystal Space. Cal3d is a library that is used for
handling skeleton systems. This is a very nice system and can allow for fluid transformations between animations.
This needs to be built/installed first because when we configure Crystal Space it has to find the cal3d libraries
so it can know to build the sprcal3d plugin.
First step is to check out the source code from CVS:
/home/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cal3d
Since cal3d is a library in development we probably don't want to 'install' this one as root since there is a good
possiblity it will change in the future. Instead we will 'install' it into our working directory. This is done
by using the -prefix option when we configure it.
/home/development/cal3d$ ./autogen.sh
/home/development/cal3d$ ./configure --prefix=/home/development/cal3d
/home/development/cal3d$ make
If you want to keep your system clean and easly update cal3d later, make yourself a Slackware package:
make install DESTDIR=/tmp/cal3d
su -
cd /tmp/cal3d
makepkg cal3d-0.10.0-`uname -m`-1.tgz
installpkg cal3d-0.10.0-`uname -m`-1.tgz
If you don't want, just do:
/home/development/cal3d$ make install
Because we did not install cal3d we need to make sure other things can find it. This is done using the LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/home/development/cal3d/src/cal3d/.libs/:$LD_LIBRARY_PATH
B) Download and Build Crystal Space (CS)
----------------------------------------
Crystal Space is the cross platform engine that we use for rendering and sound. First need to check out the code for it:
/home/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" CS
CS cannot be installed system wide.
Now we can build it (in debug mode) and use the configure line to tell it where we installed the cal3d libraries.
To do this just use the prefix line that was used for Cal3d above.
/home/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d
/home/development/CS$ jam -aq libs plugins cs-config
If you prefer to compile one step at the time do:
/home/development/CS$ ./configure --enable-debug --without-python --with-libcal3d=/home/andrew/development/cal3d
/home/development/CS$ jam -a libs
/home/development/CS$ jam -a plugins
/home/development/CS$ jam -a cs-config
We should add the CRYSTAL environment variable to the .bash_profile file so applications outside the Crystal Space
tree know where to find the .so's.
Add to ~/.bash_profile file: export CRYSTAL=/home/development/CS
C) Download and Build Crystal Entity Layer (CEL)
------------------------------------------------
CEL is Crystal Space Entity Layer. It's a layer on top of Crystal Space that is used for entity and behaviour control.
We need to add a couple more things to the .bash_profile for CEL.
export CEL=/home/development/cel
export CSCONFPATH=/home/development/cel
Now check out the code and build.
/home/development$ cvs -d:pserver:anonymous@... login
(just hit enter for password)
/home/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" cel
Now we can build it (in debug mode)
/home/development/cel$ ./autogen.sh
/home/development/cel$ ./configure --enable-debug --without-python
/home/development/cel$ jam -aq
D) Download and Build Planeshift (PS)
-------------------------------------
First get the source code.
/home/development$ cvs -d:pserver:anonymous@... login
( just hit enter for password )
/home/development$ cvs -z3 -d:pserver:anonymous@... co -D "2005-09-05 00:00:00" planeshift
The CONTENT of CVS module directory - planeshift has to be copied to your $home/development otherwise you will
get some compilation errors about missing include files.
Configure and build now:
/home/development$ ./autogen.sh
/home/development$ ./configure --enable-debug --with-libcal3d=/home/development/cal3d
/home/development$ jam -aq
This should have created all PS applications, and in particular, psclient and psupdater, which are necessary
if you simply want to play on the official server.
H) Updating CS and CEL
----------------------
If in the future you have the intentions to update cal3D, CS, CEL or PS because the team has decided to use another date or
because you feel like you want to update it, instead of doing a checkout you have simply to update.
Please, remember that cal3D, CS and CEL must be of the same date, while PS can be also newer. Don't mix up versions and dates!
If you want to update to a new date:
/home/development$ cvs -z3 -dP -D "2005-xx-xx 00:00:00" cal3d
/home/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" CS
/home/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" cel
/home/development$ cvs -z3 update -dP -D "2005-xx-xx 00:00:00" planeshift
If you want to update to present time you have to remove the sticky date tag, like this:
/home/development$ cvs -z3 update -dP -A cal3d
/home/development$ cvs -z3 update -dP -A CS
/home/development$ cvs -z3 update -dP -A cel
/home//development$ cvs -z3 update -dP -A planeshift
Obviously, after updating you have to compile again.
Before doing it you have to do
jam clean
for each project you want to jam again.
So, for example, if you want to rebuild CEL you will do:
/home/development/cel$ jam clean
/home/development/cel$ jam -aq
3. Get the Art
==============
If you want to use your client for playing you need to get the proper Art.
The artwork for PlaneShift is not included in the CVS. However this is what the updater application is for. This
connects to our update central site and downloads all the missing material. For linux all you need is updated art
and data files. This is done by editing the updaterconfig.xml file and first setting the mirror to use. Our mirror is:
<mirror id="1" name="Laanx" url="http://psteam:p1ane@...>" repository="repository.zip" files="" />
Now adjust the <modules> section to only have art and data. You can now start the updater. On the first wrong
the updater will look very bad since it does not yet have the art work. Nevertheless, let the updater run
for a long time. There may be upwards of 200 MB of data to download.
Run the updater like:
/home/develoment/planeshift$ ./updater
Or
/home/development/planeshift$ ./updater --auto
for the non-visual one.
Now you have to make sure PlaneShift.GUI.Imagefile is set to /planeshift/data/gui/releaselist.xml in planeshift.cfg. It should look like this:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/releaselist.xml
If it was having ";" in front, remove it and add it to:
PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
so it looks like:
;PlaneShift.GUI.Imagefile = /planeshift/data/gui/imagelist.xml
Once this is complete PS should be ready to run. Be sure to create your account first at our registration page (http://laanx.fragnetics.com/register).
4. Getting the Server up
========================
A) Create the Database
----------------------
Make sure that MySQL is running. The MySQL website is http://www.mysql.com/.
You can start your MySQL server in this way:
# /etc/init.d/mysql start
Then:
$ mysql -u username -ppassword
default username is root with no password
mysql>create database planeshift;
mysql>GRANT ALL PRIVILEGES ON *.* TO planeshift@... IDENTIFIED BY 'planeshift' WITH GRANT OPTION;
mysql>quit
$ cd home/development/src/server/database/mysql/
home/development/src/server/database/mysql/$ mysql -u planeshift -pplaneshift
mysql> use planeshift;
mysql> source create_all.sql;
mysql> quit
The database planeshift has now been created for planeshift to use.
B) Start the Server
--------------------
Go to your PlaneShift directory (home/development/) and run psserver, this will start the server.
Once the server has been started, you should see a "PS Server:" prompt.
Type the following to load the correct map and spawn all items and NPCs:
loadmap npcroom
spawn
ready
NOTE: If you get any problems with psserver, make sure you have the latest version of MySQL and that your
libMySQL.dll file in WINDOWS\system32 is the same as the one in mysql\lib\opt.
If you want to investigate functions of psserver type help to get a list of all the available commands
and a short of description of them.
You should now be able to start psclient.exe and log in.
The following accounts work(user/pass):
Vengeance/keith
acraig/andrew
guest/guest
5. Mini Scripts
===============
You might want to create some script so that you don't have to manually type in the environment variables every
time. In this way you can also have multiple versions of planeshift coexisting peacefully.
$ echo \#\!/bin/sh > planeshiftserver.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftserver.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftserver.sh
$ echo "export CSCONFPATH=$PWD/CS/" >> planeshiftserver.sh
$ echo "cd $PWD/planeshift" >> planeshiftserver.sh
$ echo "./psserver \$@" >> planeshiftserver.sh
$ chmod +x planeshiftserver.sh
$ echo \#\!/bin/sh > planeshiftclient.sh
$ echo "export CRYSTAL=$PWD/CS/" >> planeshiftclient.sh
$ echo "export CEL=$PWD/cel/" >> planeshiftclient.sh
$ echo "export CSCONFPATH=$PWD/CS" >> planeshiftclient.sh
$ echo "cd $PWD/planeshift/" >> planeshiftclient.sh
$ echo "./psclient \$@" >> planeshiftclient.sh
$ chmod +x planeshiftclient.sh
5. Getting Help
================
If you have trouble getting any of this to work, please feel free to contact me and I will do my best to help.
Email: acraig@... There is also an IRC channel dedicated to providing help with building PlaneShift.
Server: irc.freenode.com
Channel #PlaneShift-Build
Index: compiling-visualc.txt
===================================================================
RCS file: /cvsroot/planeshift/planeshift/docs/compiling-visualc.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** compiling-visualc.txt 29 Sep 2005 06:36:43 -0000 1.10
--- compiling-visualc.txt 29 Sep 2005 09:32:39 -0000 1.11
***************
*** 147,151 ****
exist in repository" and select the "Update Options" tab. There, if you don't need to stick to a new date, simply
check "Reset any sticky tags/date/kopts".
! If you also need to update CS to a specific date, please check "By date" and on the space on the right of the check
box specify the date in this format "day Month year", like 17 Aug 2005.
Then click "Ok" to start the update.
--- 147,151 ----
exist in repository" and select the "Update Options" tab. There, if you don't need to stick to a new date, simply
check "Reset any sticky tags/date/kopts".
! If you need to update CS to a specific date, instead, please check "By date" and on the space on the right of the check
box specify the date in this format "day Month year", like 17 Aug 2005.
Then click "Ok" to start the update.
Index: history.txt
===================================================================
RCS file: /cvsroot/planeshift/planeshift/docs/history.txt,v
retrieving revision 1.2960
retrieving revision 1.2961
diff -C2 -d -r1.2960 -r1.2961
*** history.txt 29 Sep 2005 07:56:54 -0000 1.2960
--- history.txt 29 Sep 2005 09:32:39 -0000 1.2961
***************
*** 7,10 ****
--- 7,13 ----
- Clean up the /planeshift/docs directory, removing useless files, and
updating others.
+ - Adding the build guides for gentoo/debian/slackware, based on the ones online
+ at laanx.fragnetics.com. If something is wrong, please fix it or tell me, I know
+ little about Linux.
*** 2005-09-28 by Andrew Craig
|