… | |
… | |
16 | |
16 | |
17 | |
17 | |
18 | REQUIREMENTS |
18 | REQUIREMENTS |
19 | |
19 | |
20 | For UNIX, a modern C++ compiler with some extensions is required to |
20 | For UNIX, a modern C++ compiler with some extensions is required to |
21 | compile this game. In addition, you will need the Perl development |
21 | compile this game (g++ 4.x works). In addition, you will need the Perl |
22 | libraries along with the following Perl modules (the server is tested |
22 | development libraries along with the following Perl modules (the server |
23 | with perl 5.8.8 and 5.8-maint). |
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). |
24 | |
26 | |
25 | - BDB >= v0.1 |
27 | - AnyEvent >= v2.52 |
|
|
28 | - BDB >= v1.1 **libdb4.5, libdb4.4 might work** |
26 | - Compress::LZF >= v1.71 |
29 | - Compress::LZF >= v1.8 |
27 | - Coro >= v3.62 |
30 | - Coro >= v4.13 **SEE IMPORTANT NOTICE BELOW** |
28 | - Coro::Event >= v2.1 |
31 | - Coro::Event >= v2.1 |
29 | - Crossfire >= v0.97 |
32 | - Crossfire >= v0.99 |
30 | - Digest::MD5 >= v2.0 |
33 | - Digest::MD5 >= v2.0 |
31 | - Event >= v1.08 |
34 | - Event >= v1.08 |
32 | - IO::AIO >= 2.32 |
35 | - IO::AIO >= v2.4 |
33 | - JSON::XS => 1.11 |
36 | - JSON::XS >= v1.5 |
34 | - Pod::POM >= v0.17 |
37 | - Pod::POM >= v0.17 |
35 | - Safe::Hole >= v0.10 |
38 | - Safe::Hole >= v0.10 |
36 | - Storable >= v2.0 |
39 | - Storable >= v2.0 |
37 | - Time::HiRes >= v1.0 |
40 | - Time::HiRes >= v1.0 |
|
|
41 | - URI >= 1.35 |
|
|
42 | - YAML >= v0.62 |
38 | - YAML::Syck >= v0.71 |
43 | - YAML::Syck >= v0.71 |
|
|
44 | |
|
|
45 | **NOTICE**: Crossfire uses an alternative signal stack, so you have to |
|
|
46 | use either the "u"context method (slow) or "a"ssembly when configuring Coro. |
39 | |
47 | |
40 | Furthermore, you will need the following programs and libraries: |
48 | Furthermore, you will need the following programs and libraries: |
41 | |
49 | |
42 | - gperf, the GNU perfect hash generator >= v3.0 |
50 | - gperf, the GNU perfect hash generator >= v3.0 |
43 | - glib-2.0 >= v2.10 |
51 | - glib-2.0 >= v2.10 |
44 | - libpng >= v1.2 |
52 | - libpng >= v1.2 |
45 | - ImageMagick >= v6.0 |
53 | - ImageMagick >= v6.0 (possibly higher, depending on its bugs) |
46 | - optipng => v0.5.5 (http://optipng.sf.net) |
54 | - optipng => v0.5.5 (http://optipng.sf.net) |
47 | - pngnq >= 0.4 (http://freshmeat.net/redir/pngnq/53146/url_homepage/pngnq.html) |
55 | - pngnq >= v0.4 (http://freshmeat.net/redir/pngnq/53146/url_homepage/pngnq.html) |
48 | - rsync >= 2.6 (a must have anyways) |
56 | - rsync >= v2.6 (a must have anyways) |
49 | |
57 | |
50 | Your compiler must support the Library Technical Report 1 extensions and |
58 | Your compiler must support the Library Technical Report 1 extensions and |
51 | the upcoming typeof extension. The GNU C++ compiler >= version 4.0 does |
59 | the upcoming typeof extension. The GNU C++ compiler >= version 4.0 does |
52 | support all these. |
60 | support all these. |
53 | |
61 | |
54 | On Debian GNU/Linux, you might get away with something like this for many of the |
62 | On Debian GNU/Linux, you might get away with something like this for many of the |
55 | above dependencies: |
63 | above dependencies: |
56 | |
64 | |
57 | apt-get install gperf optipng pngnq rsync imagemagick libglib2.0-dev libpng12-dev |
65 | apt-get install gperf optipng pngnq rsync imagemagick libglib2.0-dev libpng12-dev |
58 | apt-get install libpod-pom-perl libsafe-hole-perl libevent-perl |
66 | apt-get install libpod-pom-perl libsafe-hole-perl libevent-perl |
|
|
67 | |
|
|
68 | If you want to get sensible backtraces for error conditions at runtime |
|
|
69 | to be logged you also need the external addr2line program (part of GNU |
|
|
70 | binutils) in your PATH. |
59 | |
71 | |
60 | |
72 | |
61 | COMPILING |
73 | COMPILING |
62 | |
74 | |
63 | Crossfire has been known to compile on a wide variety of systems. It should |
75 | Crossfire has been known to compile on a wide variety of systems. It should |
… | |
… | |
71 | Crossfire runs on a client/server model. You will also a client to |
83 | Crossfire runs on a client/server model. You will also a client to |
72 | play. You can either connect to a server someone else has set up, or |
84 | play. You can either connect to a server someone else has set up, or |
73 | run your own server and connect to that. There are a number of clients |
85 | run your own server and connect to that. There are a number of clients |
74 | available, but the recommended one is CFPlus (see below for URL). |
86 | available, but the recommended one is CFPlus (see below for URL). |
75 | |
87 | |
76 | To run your own server, you need to make the crossfire binaries and |
88 | To run your own server, you need to build the crossfire server binaries |
77 | install them, and then run the crossfire program. This now creates a |
89 | and install them, then you will have to download and install map and |
78 | server which you/other people can connect to. First you have to download |
90 | archetype packs: |
79 | and install maps and archetype packs, though. |
|
|
80 | |
91 | |
81 | Download both the cfmaps-<version> and cfarch-<version> archives, then use cfutil |
92 | Download both the cfmaps-<version> and cfarch-<version> archives, then |
82 | to install both: |
93 | use cfutil to install both (the source directories must be writable for |
|
|
94 | this to work): |
83 | |
95 | |
84 | cfutil --install-maps path/to/cfmaps-<version>/ |
96 | cfutil --install-maps path/to/cfmaps-<version>/ |
85 | cfutil --install-arch path/to/cfarch-<version>/ |
97 | cfutil --install-arch path/to/cfarch-<version>/ |
86 | |
98 | |
87 | Both processes can take some time, depending on your resources :) |
99 | 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 | 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 | |
|
|
107 | Atfer this you can then run the crossfire executable. This starts a |
|
|
108 | server which you/other people can connect to. |
88 | |
109 | |
89 | |
110 | |
90 | WEB SITES: |
111 | WEB SITES |
91 | |
112 | |
92 | The following web addresses have crossfire information that you may find |
113 | The following web addresses have crossfire information that you may find |
93 | useful: |
114 | useful: |
94 | |
115 | |
95 | http://crossfire.schmorp.de/ (The main site) |
116 | http://crossfire.schmorp.de/ (The main site) |
… | |
… | |
104 | |
125 | |
105 | Bugs should be filed using the following email address: |
126 | Bugs should be filed using the following email address: |
106 | crossfire@schmorp.de |
127 | crossfire@schmorp.de |
107 | |
128 | |
108 | When reporting bugs, make sure you include the following: |
129 | When reporting bugs, make sure you include the following: |
|
|
130 | |
109 | o What version of crossfire did you use? |
131 | * What version of crossfire did you use? |
110 | o What type of computer did you use (CPU type) |
132 | * What type of computer did you use (CPU type) |
111 | o What is the version of the OS? |
133 | * What is the version of the OS? |
112 | o What windowing system are you using (e.g. openwindows, X.org, XFree86) |
134 | * What windowing system are you using (e.g. openwindows, X.org, XFree86) |
113 | o What compiler (and its version) did you use (e.g. gcc, acc)? |
135 | * What compiler (and its version) did you use (e.g. gcc, acc)? |
114 | o Which flags did you give it? |
136 | * Which flags did you give it? |
115 | o If the bug happens when compiling crossfire, send an EXACT copy of the |
137 | * If the bug happens when compiling crossfire, send an EXACT copy of the |
116 | compiler line, as well as the errors it puts out. Sending bugs of the |
138 | compiler line, as well as the errors it puts out. Sending bugs of the |
117 | sort 'it failed with a line like ...' doesn't help any. |
139 | sort 'it failed with a line like ...' doesn't help any. |
118 | o If the bug happened while running crossfire: |
140 | * If the bug happened while running crossfire: |
119 | - Include any output before to the bug. |
141 | - Include any output before to the bug. |
120 | - Give a description of what you did before the bug occured. The better |
142 | - Give a description of what you did before the bug occured. The better |
121 | detailed the description, the better chance I have of figuring |
143 | detailed the description, the better chance we have of figuring |
122 | out where the bug happened, or how I can recreate the bug. |
144 | out where the bug happened, or how we can recreate the bug. |
123 | - If possible, a stack trace from gdb (or other debugger) is very |
145 | - If possible, a stack trace from gdb (or other debugger) is very |
124 | helpful. |
146 | helpful. |
125 | |
147 | |
126 | The more information provided, the better chance of the bug being fixed in |
148 | The more information provided, the better chance of the bug being fixed |
127 | a timely fashion. |
149 | in a timely fashion. |
128 | |
150 | |
129 | SUBMITTING PATCHES: |
|
|
130 | |
151 | |
131 | Patches should be submitted to email address: |
152 | SUBMITTING PATCHES |
132 | crossfire@schmorp.de |
|
|
133 | |
153 | |
134 | PUBLIC SERVERS: |
154 | Patches should be submitted to email address: |
|
|
155 | crossfire@schmorp.de |
135 | |
156 | |
136 | The best way to find a server to play is to run the client |
|
|
137 | and hit "Server List" in the setup dialog (this varies |
|
|
138 | depending on your client). You can also see a list at |
|
|
139 | http://crossfire.real-time.com/metaserver/. |
|
|
140 | |
157 | |
|
|
158 | PUBLIC SERVERS |
|
|
159 | |
|
|
160 | 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 | |
141 | The canonical server for use with Crossfire and CFPlus is |
165 | The canonical server for use with Crossfire and CFPlus is |
142 | crossfire.schmorp.de, port 13327 (default). |
166 | crossfire.schmorp.de, port 13327 (default). |
|
|
167 | |
143 | |
168 | |
144 | COPYRIGHT |
169 | COPYRIGHT |
145 | |
170 | |
146 | Copyright (C) 2007 Crossfire Development Team |
171 | Most files in this distribution are covered by the GNU General Public |
147 | Copyright (C) 2000, 2006 Mark Wedel |
172 | License, version 3 (COPYING.GPL), or any later version, with the |
148 | Copyright (C) 1992 Frank Tore Johansen |
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. |
149 | |
178 | |
150 | This program is free software; you can redistribute it and/or modify |
|
|
151 | it under the terms of the GNU General Public License as published by |
|
|
152 | the Free Software Foundation; either version 2 of the License, or |
|
|
153 | (at your option) any later version. |
|
|
154 | |
179 | |
155 | This program is distributed in the hope that it will be useful, |
180 | CONTACT |
156 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
157 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
158 | GNU General Public License for more details. |
|
|
159 | |
181 | |
160 | You should have received a copy of the GNU General Public License |
182 | The authors can be reached via e-mail to crossfire@schmorp.de |
161 | along with this program; if not, write to the Free Software |
|
|
162 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
163 | |
183 | |
164 | The authors can be reached via e-mail to crossfire@schmorp.de |
|
|