GitXplorerGitXplorer
r

PlaneShift.BuildScripts

public
4 stars
0 forks
2 issues

Commits

List of commits on branch master.
Unverified
2a7c3a1c61a9ec1e1677b8c8c4e055b8a60189bd

There are no libjpeg8-dev in Debian 8

rroman-yagodin committed 9 years ago
Unverified
99100ef1514b861b70535402f1a282d01e1054ba

Add PS client revision to params

rroman-yagodin committed 9 years ago
Unverified
c0aafdff88c208e03da0effe601d728b81301611

Update changelog

rroman-yagodin committed 9 years ago
Unverified
1cea4806fa65e4160722d70dc010b7f93575d7fb

Add missing client run script

rroman-yagodin committed 9 years ago
Unverified
e42abfd0677ee1c682aba140721b2a9b3dfb83f5

CS: Remove GCC switching code

rroman-yagodin committed 9 years ago
Unverified
8c561e5a593623c490191b6bd7651be4a01f7234

Add .gitignore with source folders

rroman-yagodin committed 9 years ago

README

The README file for this repository.

About

This is collection of scripts to automate building process of PlaneShift 3D fantasy MMORPG client on latest Linux Mint Debian Editon (LMDE). I hope with very small adjustments it should work on other Debian distributions / derivatives and Linux in common.

It is highly possible that these scripts won't work for you - in this case check official compiling guide, provided by PlaneShift development team.

Why build?

PlaneShift team provides static client for Linux, both x86 and x86_64 platforms, but making self-made client provides some advantages:

  • Somewhat higher FPS / smoother gameplay that with static client
  • Ability to test recent code changes (and also encounter recently added bugs)
  • Ability to use community-provided code patches that enhance some game aspects (like this one)
  • Ability to test your own patches before committing them to the project team

Using scripts

General notice

If you encounter problems on any step, you should fix them before going further.

Download and configure

Download build scripts release package and unpack it. Check that all *.sh files have executable permission. Then open ps-params.sh in the text editor and modify environment variables by your preference:

  • First of, you should set PS_BUILD variable to development directory - there all sources will be downloaded, compiled and installed locally.

  • Build scripts assume that you have latest PS client release installed to get art and some data from install, so second important thing is to specify this location in PS_RELEASE variable.

Make sure that PS_BUILD path doesn't contains spaces - at least Bullet and Cal3D won't install to a prefix with spaces in the path.

# path to the development directory
PS_BUILD="$HOME/build/planeshift"

# path to installed PS release
PS_RELEASE="$HOME/opt/PlaneShift"

# Cal3D revision number
CAL3D_REVISION=507

# CrystalSpace 3D revision number
CS_REVISION=38934

# PlaneShift revision number (empty = trunk)
PS_REVISION=""

# Number of concurrent build jobs
CONCURRENT_JOBS=3

Optimistic way

Just run ./ps-optimistic.sh and cross the fingers :)

Less optimistic way

Run following scripts to install required packages, get source code from repositories and setup build environment. This takes some time and traffic, so be patient. Script ./ps-prereq-lmde.sh asks for superuser privilegies to install packages.

  • ./ps-prereq-jessie.sh
  • ./ps-update-all.sh

Build required libraries

Run following script to build Bullet and Cal3D:

  • ./ps-build-bullet.sh
  • ./ps-build-cal3d.sh [-u]

If optional -u switch specified, script updates source from repository, discarding all changes made in local files.

Then you should build CrystalSpace 3D engine:

  • ./ps-build-cs.sh [-u]

Crystal Space 3D have known build problems with gcc 4.7 (but not gcc 4.6 or 4.8). So if you are using gcc 4.7, then script installs gcc 4.6 and use it for building CS (this will reqiure superuser privileges).

Build client

To build client, run ./ps-build-client.sh [-u]

Setup client

Run ./ps-setup-client.sh

This makes art directory with hardlinks to release art, copies servers.xml and emotes.xml from release data, creates startup script in PS_BUILD directory and makes desktop shortcut in ~/.local/share/applications to run the client.

Run game

Run ./psclient.sh or use shortcut named "PlaneShift (compiled)" in the applications menu.

Upgrade client to latest version

Just run:

./ps-build-client.sh -u
./ps-setup-client.sh

TODO

  • Support appliyng patches from specified folder
  • Support building and setting up both client and server
  • Add support for various Linux distributions

Contributions

Please let me know if these scripts are working (or not working) in your environment - add new issue using this project's issue tracker, describe your build environment, build errors, etc.