--- deliantra/server/README 2007/03/05 22:06:50 1.5 +++ deliantra/server/README 2007/07/17 20:06:07 1.20 @@ -1,77 +1,109 @@ WHAT IS CROSSFIRE? - This is a multiplayer graphical arcade and adventure game, that runs on a - client/server model. There are clients for Microsoft(R) Windows(TM) and - POSIX systems such as Linux and *BSD. To get the most joyful experience, - the Crossfire+ client should be used. This client is written in Perl and - utilises SDL with OpenGL. + This is a multiplayer graphical arcade and adventure game, that runs on + a client/server model. There are clients for Microsoft(R) Windows(TM) + and POSIX systems such as Linux and *BSD. To get the most joyful + experience, the Crossfire+ client should be used. This client is written + in Perl and utilises SDL with OpenGL to provide you with the most + immersive gameplay. Crossfire has certain flavours from other games, especially Gauntlet (TM) and Nethack/Moria. - Any number of players can move around in their own window, finding - and using items and battle monsters. They can choose to cooperate - or compete in the same "world". + Any number of players can move around in their own window on the + world, finding and using items and battle monsters. They can choose to + cooperate or compete in the same "world". + REQUIREMENTS For UNIX, a modern C++ compiler with some extensions is required to - compile this game. In addition, you will need the Perl development - libraries along with the following Perl modules (the server is tested - with perl 5.8.8 and 5.8-maint). - - - Crossfire >= v0.97 - - Coro >= v3.5 + compile this game (g++ 4.x works). In addition, you will need the Perl + development libraries along with the following Perl modules (the server + is tested with perl 5.8.8 and 5.8-maint) and their dependencies. (the + minimum versions below may not be up-to-date, the configure script will + check them all, though). + + - AnyEvent >= v2.52 + - BDB >= v0.1 **libdb4.5, libdb4.4 might work** + - Compress::LZF >= v1.8 + - Coro >= v3.62 **SEE IMPORTANT NOTICE BELOW** - Coro::Event >= v2.1 + - Crossfire >= v0.99 + - Digest::MD5 >= v2.0 - Event >= v1.08 - - IO::AIO >= 2.32 - - BDB >= v0.1 + - IO::AIO >= v2.4 + - JSON::XS => v1.41 + - Pod::POM >= v0.17 + - Safe::Hole >= v0.10 - Storable >= v2.0 - Time::HiRes >= v1.0 - YAML::Syck >= v0.71 - - Digest::MD5 >= v2.0 - - Compress::LZF >= v1.71 - - Safe::Hole >= v0.10 - - Pod::POM >= v0.17 + + **NOTICE**: Crossfire uses an alternative signal stack, so you have to + use either the "u"context method (slow) or "a"ssembly when configuring Coro. Furthermore, you will need the following programs and libraries: - - gperf, the GNU perfect hash generator + - gperf, the GNU perfect hash generator >= v3.0 - glib-2.0 >= v2.10 - libpng >= v1.2 - - ImageMagick >= 6.0 (convert must be in your PATH). + - ImageMagick >= v6.0 (possibly higher, depending on its bugs) + - optipng => v0.5.5 (http://optipng.sf.net) + - pngnq >= v0.4 (http://freshmeat.net/redir/pngnq/53146/url_homepage/pngnq.html) + - rsync >= v2.6 (a must have anyways) Your compiler must support the Library Technical Report 1 extensions and the upcoming typeof extension. The GNU C++ compiler >= version 4.0 does - support these. + support all these. + + On Debian GNU/Linux, you might get away with something like this for many of the + above dependencies: + + apt-get install gperf optipng pngnq rsync imagemagick libglib2.0-dev libpng12-dev + apt-get install libpod-pom-perl libsafe-hole-perl libevent-perl + + If you want to get sensible backtraces for error conditions at runtime + to be logged you also need the external addr2line program (part of GNU + binutils) in your PATH. + COMPILING - Crossfire has been known to compile on a wide variety of systems. It should - compile and most all ISO C++ 200x and POSIX compliant systems. + Crossfire has been known to compile on a wide variety of systems. It should + compile and run on most ISO C++ 200x and POSIX compliant systems. + + To get generic directions on compilation, read the INSTALL file. + - To get directions on compilation for UNIX/LINUX, read the INSTALL file. +INSTALLATION/USAGE -USAGE + Crossfire runs on a client/server model. You will also a client to + play. You can either connect to a server someone else has set up, or + run your own server and connect to that. There are a number of clients + available, but the recommended one is CFPlus (see below for URL). - Crossfire runs on a client/server model. You will also need the client - to play. You can either connect to a server someone else has set up, - or run your own server and connect to that. The client package has - information for connecting to servers. - - To run your own server, you need to make the crossfire binaries - and install them, and then run the crossfire program. This now - creates a server which you/other people can connect to. The map - files will need to get downloaded and installed for the server to run - properly. The map pack is released together with the server and can be - downloaded form the same location. The maps should be copied into the - $(TARGET)/share/crossfire/maps directory - after unpacking, you should - have a $(TARGET)/share/crossfire/maps/scorn directory. + To run your own server, you need to build the crossfire server binaries + and install them, then you will have to download and install map and + archetype packs: - If you plan to run a long term server, you should use one of the scripts - provided that will re-run crossfire if it dies for some reason. + Download both the cfmaps- and cfarch- archives, then + use cfutil to install both (the source directories must be writable for + this to work): -WEB SITES: + cfutil --install-maps path/to/cfmaps-/ + cfutil --install-arch path/to/cfarch-/ + + Both processes can take some time, depending on your resources :) If you + plan to repeat the installation you should specify the --cache option + which will keep costly-to-generate files around for further runs of + cfutil. + + Atfer this you can then run the crossfire executable. This starts a + server which you/other people can connect to. + + +WEB SITES The following web addresses have crossfire information that you may find useful: @@ -90,56 +122,57 @@ crossfire@schmorp.de When reporting bugs, make sure you include the following: - o What version of crossfire did you use? - o What type of computer did you use (CPU type) - o What is the version of the OS? - o What windowing system are you using (e.g. openwindows, X.org, XFree86) - o What compiler (and its version) did you use (e.g. gcc, acc)? - o Which flags did you give it? - o If the bug happens when compiling crossfire, send an EXACT copy of the + + * What version of crossfire did you use? + * What type of computer did you use (CPU type) + * What is the version of the OS? + * What windowing system are you using (e.g. openwindows, X.org, XFree86) + * What compiler (and its version) did you use (e.g. gcc, acc)? + * Which flags did you give it? + * If the bug happens when compiling crossfire, send an EXACT copy of the compiler line, as well as the errors it puts out. Sending bugs of the sort 'it failed with a line like ...' doesn't help any. - o If the bug happened while running crossfire: + * If the bug happened while running crossfire: - Include any output before to the bug. - - Give a description of what you did before the bug occured. The better - detailed the description, the better chance I have of figuring - out where the bug happened, or how I can recreate the bug. + - Give a description of what you did before the bug occured. The better + detailed the description, the better chance we have of figuring + out where the bug happened, or how we can recreate the bug. - If possible, a stack trace from gdb (or other debugger) is very helpful. -The more information provided, the better chance of the bug being fixed in -a timely fashion. + The more information provided, the better chance of the bug being fixed + in a timely fashion. + + +SUBMITTING PATCHES ------------------------------------------------------------------------------- -SUBMITTING PATCHES: -Patches should be submitted to email address: - crossfire@schmorp.de - -PUBLIC SERVERS: - -The best way to find a server to play is to run the client. It will contact -the metaserver and present a list to choose from. You can also see -a list at http://crossfire.real-time.com/metaserver/ + Patches should be submitted to email address: + crossfire@schmorp.de + + +PUBLIC SERVERS + + The best way to find a server to play is to run the client + and hit "Server List" in the setup dialog (this varies + depending on your client). You can also see a list at + http://crossfire.real-time.com/metaserver/. + + The canonical server for use with Crossfire and CFPlus is + crossfire.schmorp.de, port 13327 (default). COPYRIGHT - Copyright (C) 2007 Crossfire Development Team - Copyright (C) 2000, 2006 Mark Wedel - Copyright (C) 1992 Frank Tore Johansen - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + Most files in this distribution are covered by the GNU General Public + License, version 3 (COPYING.GPL), or any later version, with the + exception of ext/affero.ext, which is covered by the GNU Affero General + Public License, Version 3 (COPYING.Affero). Please take note of the + special requirements of the Affero license with respect to network + servers and configure your network server according to the instructions + given in ext/affero.ext. + + +CONTACT + + The authors can be reached via e-mail to crossfire@schmorp.de - The authors can be reached via e-mail to crossfire@schmorp.de