From Ecksdee

The development of Ecksdee is made using a Subversion (SVN) repository.
This page explains how to get the latest development version of Ecksdee running.

Contents

Using ready-to-run binaries/executables

Get the CELStart binary for your platform

 * Depends on Python 2.4, OpenGL, zlib, libjpeg, libpng, libogg, libvorbis; libvorbisfile, liblcms, nVidia Cg toolkit
 * The dependencies are provided in the archive
  • Unpack the previously downloaded archive
  • Set CEL environment variable to point to the unpacked archive directory

Get Ecksdee from Subversion (SVN)

Running

  • Read the Notes at the bottom of this page.

Building CELStart from source code

Dependencies

Compiler and base libraries

You first need to install a compiler. GCC and MSVC7+ are supported.
On Windows, you can use GCC port known as MinGW, but this also require MSYS.

You'll also need external libraries and their headers, such as:

  • Python 2.4 (2.5 may or may not work at the moment).
  • OpenGL
  • zlib
  • libjpeg
  • libpng
  • liblcms
  • libogg
  • libvorbis
  • libvorbisfile
  • ODE (OpenDE): any version from 0.6 to 0.8 (and prolly SVN) should do.
    • If you build ODE yourself, you should use --enable-release configure switch. This avoids assertion/aborts.
    • IMPORTANT: make sure your ODE is built with trimesh support.
    • IMPORTANT: avoid GImpact trimesh variant, problems were reported. Use the classical OPCODE support.
    • If you use an ODE package from your distribution:
      • check the version (ie. rpm -qi ode if the package is named ode on a RPM based distribution)
      • ensure it has trimesh support with strings /usr/lib/libode.so | grep trimesh
  • nVidia Cg toolkit

If you use Windows, those dependencies are provided in Crystal Space cs-win32libs package (more on that later).
If you use GNU/Linux (or another Unix variant such as the *BSD), make sure you not only install the library package, but also the -dev or -devel counterpart.

Crystal Space

Here are a few notes about building CS yourself:

  • Ecksdee SVN actually uses the soon to be released CS 1.2, and should use it for next Ecksdee release (0.1.0).
  • CS SVN trunk (latest development version) is actually numbered 1.3, even though 1.2 is not yet released.
  • CS actually needs a lot of RAM, due to some imperfection in the creation of Python bindings (which are now required for Ecksdee).
    • If you don't have much RAM (ie. 512Mb or less), you can still build CS but it will take a few hours. Make sure you have a good amount of swap memory in that case...
    • This problem is being worked on in a specific CS SVN branch, but chances are that this branch is not recent enough for Ecksdee, and CEL might not be able to use it.

OK, let's go... To download CS, you can either:

  • Use SVN:

svn co https://crystal.svn.sourceforge.net/svnroot/crystal/CS/branches/release/V1.2 CS
or, if you want/need trunk:
svn co https://crystal.svn.sourceforge.net/svnroot/crystal/CS/trunk CS

Now, if you use Windows, it's time to get the cs-win32libs pack, and install it.
Check http://crystalspace3d.org/docs/online/manual/External-Libraries.php for a link to download it.

It's then time to build Crystal Space.

  • IMPORTANT: Avoid installing CS. This may or may not work, and complicates things.

Please refer to http://crystalspace3d.org/docs/online/manual/Platform-Instructions.php for specific instructions.

  • MSVC users: please read the MSVC page really carefuly !

There should be no building error.

Once CS is built, don't forget to set CRYSTAL environment variable to the full path were CS directory is located in your system.

  • TIP: if you didn't have Jam installed, pick up the jam executable you should now have somewhere in your CS directory, and copy it in a directory listed in your PATH environment variable. It will be needed to build CEL too (unless you use MSVC).

Crystal Entity Layer

Once CS is built successfully and with Python support, you can build CEL.

To download latest CS development version, you can either:

  • Use SVN:

svn co https://cel.svn.sourceforge.net/svnroot/cel/cel/branches/release/V1.2 CEL
or if you want/need trunk:
svn co https://cel.svn.sourceforge.net/svnroot/cel/cel/trunk CEL

To build CEL, steps are roughly the same as those you followed for CS.

  • GCC: use ./configure && jam
  • MSVC: locate the appropriate project solution and build it.

Once CEL is built successfully, don't forget to set CEL environment variable to the full path were CEL is located in your system.

Ecksdee SVN

Getting Ecksdee from SVN

OK, you now have CS & CEL built, with Python support.
You can now checkout Ecksdee from its SVN repository:

svn co https://ecksdee.svn.sourceforge.net/svnroot/ecksdee/trunk/ecksdee XD

Running Ecksdee SVN

Ecksdee is now based on CELStart with Python behaviours, so you don't have to compile it.

Make sure you set PYTHONPATH environment variable correctly, or it won't run. To do that:

  • Go in XD/ directory (if you followed instructions above and checked it out in a directory named XD)
  • Type: export PYTHONPATH=$CRYSTAL:$CEL:$PWD/data/scripts
    • Remember ? You previously set CRYSTAL and CEL variables...

Now you can run Ecksdee with just: python ecksdee.py

Notes

Go in Garage at first launch

When you first run Ecksdee SVN, you must choose a ship and confim your user name.
Just enter the Garage, select a ship and verify your name, then click Continue in upper right corner.
There's actually a bug, which will cause crashes when launching a game, if you don't visit the garage...
For manual setting of those, check those files, depending on your platform:

  • $HOME/.crystalspace/Ecksdee.cfg
  • X:\Documents and Settings\UserName\Application Data\Ecksdee.cfg
Ecksdee.Player.Name = MyPlayerName
Ecksdee.Garage.Visited = true
Ecksdee.Player.Vehicle = F2
    • No special characters in user name, cause problems for now...
    • Ecksdee.Player.Vehicle: use F2, Speeder or Ekiben

Networking

Updater

  • The updater is not used already (and not tested...)
  • You can enable or disable the updater in AppEcksdee.cfg or your personal Ecksdee.cfg:
    • Ecksdee.Updater.Enabled = false or true

Network game

Ecksdee SVN has networking support.

Running a lobby
  • The lobby listens on port 1827/udp, so make sure it's not blocked by the firewall.
  • Change the lobby name in $XD/data/server/lobby/celstart.cfg or $HOME/.crystalspace/Ecksdee-LobbyServer.cfg (on *nix-type systems).
  • run python ecksdee-lobbyserver.py
Running locally
  • You can just run a classical local game by clicking Host in the main menu.
Running an Internetworked session
  • Click Join
  • Select a lobby (perhaps the one you're running), and click Connect
  • Select a game session (if any), and click Join
  • To host a game (run game server locally): click Host
    • Fill in a Game Name, and perhaps set other settings
    • Click Launch, wait for loading, then click Play
Running a LAN session
  • Someone must run a lobby server on the LAN
  • Click Join
  • When the lobby list appears, click LAN Games
  • Select the lobby, and click Connect
  • Now, either Host"" or Join a game