ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/README
Revision: 1.23
Committed: Sat Aug 18 17:33:53 2007 UTC (16 years, 9 months ago) by root
Branch: MAIN
Changes since 1.22: +1 -1 lines
Log Message:
move some code to Coro

File Contents

# Content
1 WHAT IS CROSSFIRE?
2
3 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
10 Crossfire has certain flavours from other games, especially Gauntlet (TM)
11 and Nethack/Moria.
12
13 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
18 REQUIREMENTS
19
20 For UNIX, a modern C++ compiler with some extensions is required to
21 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
27 - AnyEvent >= v2.52
28 - BDB >= v0.1 **libdb4.5, libdb4.4 might work**
29 - Compress::LZF >= v1.8
30 - Coro >= v3.64 **SEE IMPORTANT NOTICE BELOW**
31 - Coro::Event >= v2.1
32 - Crossfire >= v0.99
33 - Digest::MD5 >= v2.0
34 - Event >= v1.08
35 - IO::AIO >= v2.4
36 - JSON::XS => v1.41
37 - Pod::POM >= v0.17
38 - Safe::Hole >= v0.10
39 - Storable >= v2.0
40 - Time::HiRes >= v1.0
41 - YAML::Syck >= v0.71
42 - YAML => v0.62
43
44 **NOTICE**: Crossfire uses an alternative signal stack, so you have to
45 use either the "u"context method (slow) or "a"ssembly when configuring Coro.
46
47 Furthermore, you will need the following programs and libraries:
48
49 - gperf, the GNU perfect hash generator >= v3.0
50 - glib-2.0 >= v2.10
51 - libpng >= v1.2
52 - ImageMagick >= v6.0 (possibly higher, depending on its bugs)
53 - optipng => v0.5.5 (http://optipng.sf.net)
54 - pngnq >= v0.4 (http://freshmeat.net/redir/pngnq/53146/url_homepage/pngnq.html)
55 - rsync >= v2.6 (a must have anyways)
56
57 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 support all these.
60
61 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 If you want to get sensible backtraces for error conditions at runtime
68 to be logged you also need the external addr2line program (part of GNU
69 binutils) in your PATH.
70
71
72 COMPILING
73
74 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
80 INSTALLATION/USAGE
81
82 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
87 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
95 cfutil --install-maps path/to/cfmaps-<version>/
96 cfutil --install-arch path/to/cfarch-<version>/
97
98 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 first, which will keep costly-to-generate files around for further runs
101 of cfutil:
102
103 cfutil --cache --install-maps path/to/cfmaps-<version>/
104 cfutil --cache --install-arch path/to/cfarch-<version>/
105
106 Atfer this you can then run the crossfire executable. This starts a
107 server which you/other people can connect to.
108
109
110 WEB SITES
111
112 The following web addresses have crossfire information that you may find
113 useful:
114
115 http://crossfire.schmorp.de/ (The main site)
116
117 http://crossfire.real-time.com/ (The website for the old Crossfire game)
118
119
120 REPORTING BUGS
121
122 First, check the INSTALL file for common problems, and see if yours is
123 mentioned.
124
125 Bugs should be filed using the following email address:
126 crossfire@schmorp.de
127
128 When reporting bugs, make sure you include the following:
129
130 * What version of crossfire did you use?
131 * What type of computer did you use (CPU type)
132 * What is the version of the OS?
133 * What windowing system are you using (e.g. openwindows, X.org, XFree86)
134 * What compiler (and its version) did you use (e.g. gcc, acc)?
135 * Which flags did you give it?
136 * If the bug happens when compiling crossfire, send an EXACT copy of the
137 compiler line, as well as the errors it puts out. Sending bugs of the
138 sort 'it failed with a line like ...' doesn't help any.
139 * If the bug happened while running crossfire:
140 - Include any output before to the bug.
141 - Give a description of what you did before the bug occured. The better
142 detailed the description, the better chance we have of figuring
143 out where the bug happened, or how we can recreate the bug.
144 - If possible, a stack trace from gdb (or other debugger) is very
145 helpful.
146
147 The more information provided, the better chance of the bug being fixed
148 in a timely fashion.
149
150
151 SUBMITTING PATCHES
152
153 Patches should be submitted to email address:
154 crossfire@schmorp.de
155
156
157 PUBLIC SERVERS
158
159 The best way to find a server to play is to run the client
160 and hit "Server List" in the setup dialog (this varies
161 depending on your client). You can also see a list at
162 http://crossfire.real-time.com/metaserver/.
163
164 The canonical server for use with Crossfire and CFPlus is
165 crossfire.schmorp.de, port 13327 (default).
166
167
168 COPYRIGHT
169
170 Most files in this distribution are covered by the GNU General Public
171 License, version 3 (COPYING.GPL), or any later version, with the
172 exception of ext/affero.ext, which is covered by the GNU Affero General
173 Public License, Version 3 (COPYING.Affero). Please take note of the
174 special requirements of the Affero license with respect to network
175 servers and configure your network server according to the instructions
176 given in ext/affero.ext.
177
178
179 CONTACT
180
181 The authors can be reached via e-mail to crossfire@schmorp.de
182