ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/README
Revision: 1.26
Committed: Thu Sep 13 16:16:00 2007 UTC (16 years, 8 months ago) by root
Branch: MAIN
Changes since 1.25: +1 -1 lines
Log Message:
- do better transaction handling
- require BDB 1.1

File Contents

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