| 1 |
root |
1.1 |
WHAT IS CROSSFIRE? |
| 2 |
|
|
|
| 3 |
root |
1.8 |
This is a multiplayer graphical arcade and adventure game, that runs on |
| 4 |
|
|
a client/server model. There are clients for Microsoft(R) Windows(TM) |
| 5 |
|
|
and POSIX systems such as Linux and *BSD. To get the most joyful |
| 6 |
|
|
experience, the Crossfire+ client should be used. This client is written |
| 7 |
|
|
in Perl and utilises SDL with OpenGL to provide you with the most |
| 8 |
|
|
immersive gameplay. |
| 9 |
root |
1.1 |
|
| 10 |
pippijn |
1.4 |
Crossfire has certain flavours from other games, especially Gauntlet (TM) |
| 11 |
root |
1.1 |
and Nethack/Moria. |
| 12 |
|
|
|
| 13 |
root |
1.8 |
Any number of players can move around in their own window on the |
| 14 |
|
|
world, finding and using items and battle monsters. They can choose to |
| 15 |
|
|
cooperate or compete in the same "world". |
| 16 |
|
|
|
| 17 |
root |
1.1 |
|
| 18 |
|
|
REQUIREMENTS |
| 19 |
|
|
|
| 20 |
root |
1.5 |
For UNIX, a modern C++ compiler with some extensions is required to |
| 21 |
root |
1.12 |
compile this game (g++ 4.x works). In addition, you will need the Perl |
| 22 |
|
|
development libraries along with the following Perl modules (the server |
| 23 |
|
|
is tested with perl 5.8.8 and 5.8-maint) and their dependencies. (the |
| 24 |
|
|
minimum versions below may not be up-to-date, the configure script will |
| 25 |
|
|
check them all, though). |
| 26 |
pippijn |
1.4 |
|
| 27 |
root |
1.20 |
- AnyEvent >= v2.52 |
| 28 |
|
|
- BDB >= v0.1 **libdb4.5, libdb4.4 might work** |
| 29 |
root |
1.12 |
- Compress::LZF >= v1.8 |
| 30 |
root |
1.14 |
- Coro >= v3.62 **SEE IMPORTANT NOTICE BELOW** |
| 31 |
pippijn |
1.4 |
- Coro::Event >= v2.1 |
| 32 |
root |
1.16 |
- Crossfire >= v0.99 |
| 33 |
root |
1.9 |
- Digest::MD5 >= v2.0 |
| 34 |
pippijn |
1.4 |
- Event >= v1.08 |
| 35 |
root |
1.20 |
- IO::AIO >= v2.4 |
| 36 |
|
|
- JSON::XS => v1.41 |
| 37 |
root |
1.9 |
- Pod::POM >= v0.17 |
| 38 |
|
|
- Safe::Hole >= v0.10 |
| 39 |
pippijn |
1.4 |
- Storable >= v2.0 |
| 40 |
|
|
- Time::HiRes >= v1.0 |
| 41 |
|
|
- YAML::Syck >= v0.71 |
| 42 |
root |
1.21 |
- YAML => v0.62 |
| 43 |
pippijn |
1.4 |
|
| 44 |
root |
1.11 |
**NOTICE**: Crossfire uses an alternative signal stack, so you have to |
| 45 |
root |
1.14 |
use either the "u"context method (slow) or "a"ssembly when configuring Coro. |
| 46 |
root |
1.11 |
|
| 47 |
root |
1.5 |
Furthermore, you will need the following programs and libraries: |
| 48 |
pippijn |
1.4 |
|
| 49 |
root |
1.7 |
- gperf, the GNU perfect hash generator >= v3.0 |
| 50 |
pippijn |
1.4 |
- glib-2.0 >= v2.10 |
| 51 |
|
|
- libpng >= v1.2 |
| 52 |
root |
1.12 |
- ImageMagick >= v6.0 (possibly higher, depending on its bugs) |
| 53 |
root |
1.7 |
- optipng => v0.5.5 (http://optipng.sf.net) |
| 54 |
root |
1.20 |
- pngnq >= v0.4 (http://freshmeat.net/redir/pngnq/53146/url_homepage/pngnq.html) |
| 55 |
|
|
- rsync >= v2.6 (a must have anyways) |
| 56 |
pippijn |
1.4 |
|
| 57 |
root |
1.5 |
Your compiler must support the Library Technical Report 1 extensions and |
| 58 |
|
|
the upcoming typeof extension. The GNU C++ compiler >= version 4.0 does |
| 59 |
root |
1.6 |
support all these. |
| 60 |
pippijn |
1.4 |
|
| 61 |
root |
1.9 |
On Debian GNU/Linux, you might get away with something like this for many of the |
| 62 |
|
|
above dependencies: |
| 63 |
|
|
|
| 64 |
|
|
apt-get install gperf optipng pngnq rsync imagemagick libglib2.0-dev libpng12-dev |
| 65 |
|
|
apt-get install libpod-pom-perl libsafe-hole-perl libevent-perl |
| 66 |
|
|
|
| 67 |
root |
1.15 |
If you want to get sensible backtraces for error conditions at runtime |
| 68 |
root |
1.13 |
to be logged you also need the external addr2line program (part of GNU |
| 69 |
|
|
binutils) in your PATH. |
| 70 |
|
|
|
| 71 |
root |
1.8 |
|
| 72 |
root |
1.1 |
COMPILING |
| 73 |
|
|
|
| 74 |
root |
1.8 |
Crossfire has been known to compile on a wide variety of systems. It should |
| 75 |
|
|
compile and run on most ISO C++ 200x and POSIX compliant systems. |
| 76 |
|
|
|
| 77 |
|
|
To get generic directions on compilation, read the INSTALL file. |
| 78 |
|
|
|
| 79 |
root |
1.1 |
|
| 80 |
root |
1.8 |
INSTALLATION/USAGE |
| 81 |
root |
1.1 |
|
| 82 |
root |
1.8 |
Crossfire runs on a client/server model. You will also a client to |
| 83 |
|
|
play. You can either connect to a server someone else has set up, or |
| 84 |
|
|
run your own server and connect to that. There are a number of clients |
| 85 |
|
|
available, but the recommended one is CFPlus (see below for URL). |
| 86 |
root |
1.1 |
|
| 87 |
root |
1.12 |
To run your own server, you need to build the crossfire server binaries |
| 88 |
|
|
and install them, then you will have to download and install map and |
| 89 |
|
|
archetype packs: |
| 90 |
|
|
|
| 91 |
|
|
Download both the cfmaps-<version> and cfarch-<version> archives, then |
| 92 |
|
|
use cfutil to install both (the source directories must be writable for |
| 93 |
|
|
this to work): |
| 94 |
root |
1.8 |
|
| 95 |
|
|
cfutil --install-maps path/to/cfmaps-<version>/ |
| 96 |
|
|
cfutil --install-arch path/to/cfarch-<version>/ |
| 97 |
|
|
|
| 98 |
root |
1.12 |
Both processes can take some time, depending on your resources :) If you |
| 99 |
|
|
plan to repeat the installation you should specify the --cache option |
| 100 |
|
|
which will keep costly-to-generate files around for further runs of |
| 101 |
|
|
cfutil. |
| 102 |
|
|
|
| 103 |
|
|
Atfer this you can then run the crossfire executable. This starts a |
| 104 |
|
|
server which you/other people can connect to. |
| 105 |
root |
1.2 |
|
| 106 |
root |
1.1 |
|
| 107 |
root |
1.18 |
WEB SITES |
| 108 |
root |
1.1 |
|
| 109 |
|
|
The following web addresses have crossfire information that you may find |
| 110 |
|
|
useful: |
| 111 |
|
|
|
| 112 |
pippijn |
1.4 |
http://crossfire.schmorp.de/ (The main site) |
| 113 |
|
|
|
| 114 |
|
|
http://crossfire.real-time.com/ (The website for the old Crossfire game) |
| 115 |
root |
1.1 |
|
| 116 |
|
|
|
| 117 |
|
|
REPORTING BUGS |
| 118 |
|
|
|
| 119 |
|
|
First, check the INSTALL file for common problems, and see if yours is |
| 120 |
|
|
mentioned. |
| 121 |
|
|
|
| 122 |
pippijn |
1.4 |
Bugs should be filed using the following email address: |
| 123 |
|
|
crossfire@schmorp.de |
| 124 |
root |
1.1 |
|
| 125 |
|
|
When reporting bugs, make sure you include the following: |
| 126 |
root |
1.12 |
|
| 127 |
|
|
* What version of crossfire did you use? |
| 128 |
|
|
* What type of computer did you use (CPU type) |
| 129 |
|
|
* What is the version of the OS? |
| 130 |
|
|
* What windowing system are you using (e.g. openwindows, X.org, XFree86) |
| 131 |
|
|
* What compiler (and its version) did you use (e.g. gcc, acc)? |
| 132 |
|
|
* Which flags did you give it? |
| 133 |
|
|
* If the bug happens when compiling crossfire, send an EXACT copy of the |
| 134 |
pippijn |
1.4 |
compiler line, as well as the errors it puts out. Sending bugs of the |
| 135 |
|
|
sort 'it failed with a line like ...' doesn't help any. |
| 136 |
root |
1.12 |
* If the bug happened while running crossfire: |
| 137 |
root |
1.1 |
- Include any output before to the bug. |
| 138 |
root |
1.12 |
- Give a description of what you did before the bug occured. The better |
| 139 |
|
|
detailed the description, the better chance we have of figuring |
| 140 |
|
|
out where the bug happened, or how we can recreate the bug. |
| 141 |
root |
1.2 |
- If possible, a stack trace from gdb (or other debugger) is very |
| 142 |
|
|
helpful. |
| 143 |
root |
1.1 |
|
| 144 |
root |
1.12 |
The more information provided, the better chance of the bug being fixed |
| 145 |
|
|
in a timely fashion. |
| 146 |
root |
1.1 |
|
| 147 |
root |
1.18 |
|
| 148 |
|
|
SUBMITTING PATCHES |
| 149 |
root |
1.8 |
|
| 150 |
root |
1.12 |
Patches should be submitted to email address: |
| 151 |
root |
1.18 |
crossfire@schmorp.de |
| 152 |
|
|
|
| 153 |
root |
1.1 |
|
| 154 |
root |
1.18 |
PUBLIC SERVERS |
| 155 |
root |
1.1 |
|
| 156 |
root |
1.12 |
The best way to find a server to play is to run the client |
| 157 |
|
|
and hit "Server List" in the setup dialog (this varies |
| 158 |
|
|
depending on your client). You can also see a list at |
| 159 |
|
|
http://crossfire.real-time.com/metaserver/. |
| 160 |
root |
1.1 |
|
| 161 |
root |
1.12 |
The canonical server for use with Crossfire and CFPlus is |
| 162 |
|
|
crossfire.schmorp.de, port 13327 (default). |
| 163 |
root |
1.1 |
|
| 164 |
root |
1.18 |
|
| 165 |
root |
1.1 |
COPYRIGHT |
| 166 |
|
|
|
| 167 |
root |
1.18 |
Most files in this distribution are covered by the GNU General Public |
| 168 |
|
|
License, version 3 (COPYING.GPL), or any later version, with the |
| 169 |
|
|
exception of ext/affero.ext, which is covered by the GNU Affero General |
| 170 |
|
|
Public License, Version 3 (COPYING.Affero). Please take note of the |
| 171 |
|
|
special requirements of the Affero license with respect to network |
| 172 |
|
|
servers and configure your network server according to the instructions |
| 173 |
|
|
given in ext/affero.ext. |
| 174 |
|
|
|
| 175 |
|
|
|
| 176 |
|
|
CONTACT |
| 177 |
root |
1.1 |
|
| 178 |
root |
1.12 |
The authors can be reached via e-mail to crossfire@schmorp.de |
| 179 |
root |
1.18 |
|