root/pbibuild/modules/assaultcube/overlay-dir/LICENSE

Revision 989, 6.3 KB (checked in by kris, 12 months ago)

Fixed the assaultcube build, it works right now. Triggered a rebuild also

Line 
1Cube source code license, usage, and documentation.
2
3You should read this file IN ITS ENTIRETY if you wish to do anything with
4the cube source code, even a mere build. Own builds are not necessarily
5compatible with the officially released binaries, read below.
6
7You may use the cube source code if you abide by the ZLIB license
8http://www.opensource.org/licenses/zlib-license.php
9(very similar to the BSD license) with the additional clause below:
10
11
12LICENSE
13=======
14
15Cube game engine source code, 20 dec 2003 release.
16
17Copyright (C) 2001-2003 Wouter van Oortmerssen.
18
19This software is provided 'as-is', without any express or implied
20warranty.  In no event will the authors be held liable for any damages
21arising from the use of this software.
22
23Permission is granted to anyone to use this software for any purpose,
24including commercial applications, and to alter it and redistribute it
25freely, subject to the following restrictions:
26
271. The origin of this software must not be misrepresented; you must not
28   claim that you wrote the original software. If you use this software
29   in a product, an acknowledgment in the product documentation would be
30   appreciated but is not required.
312. Altered source versions must be plainly marked as such, and must not be
32   misrepresented as being the original software.
333. This notice may not be removed or altered from any source distribution.
34
35additional clause specific to Cube:
36
374. Source versions may not be "relicensed" under a different license
38   without my explicitly written permission.
39
40
41LICENSE NOTES
42=============
43The license covers the source code found in the "src" directory of this
44archive, the included enet network library which cube uses is covered by
45the "No problem Bugroff" license, which is however compatible with the
46above license for all practical purposes.
47
48Game media included in the cube game (maps, textures, sounds, models etc.)
49are not covered by this license, and may have individual copyrights and
50distribution restrictions (see individual readmes).
51
52
53USAGE
54=====
55Compiling the sources should be straight forward.
56
57Unix users need to make sure to have the development version of all libs
58installed (OpenGL, SDL, SDL_Mixer, SDL_Image, zlib, libpng). The included
59makefiles can be used to build.
60
61Windows users can use the included visual studio .net 2003 project files, which
62references the lib/include directories for the external libraries and should
63thus be self contained. The project is set up assuming you have the normal
64cube binary distribution as a subdirectory "cube" of the root of this archive,
65so release mode builds will place executables in the bin dir ready for testing
66and distribution. Do not come ask me for help in compiling or modifying the
67sources, if you can't figure out how to do this yourself you probably shouldn't
68be touching the files anyway.
69
70The cube sources are very small, compact, and non redundant, so anyone
71wishing to modify the source code should be able to gain an overview of
72cube's inner workings by simply reading through the source code in its
73entirety. Small amounts of comments should guide you through the more
74tricky sections.
75
76When reading the source code and trying to understand cube's internal design,
77keep in mind the goal of cube: minimalism. I wanted to create a very complete
78game / game engine with absolutely minimal means, and made a sport out of it
79keeping the implementation small and simple. Cube is not a commercial product,
80it is merely the author's idea of a fun little programming project.
81
82
83OPEN SOURCE
84===========
85Cube is open source (see ZLIB license above). This only means that you have
86great freedom using it for your own projects, but does NOT mean the main cube
87code is an "open source project" in the sense that everyone is invited to
88contribute to it. The main cube code will remain a one man project (me), as my
89minimalistic design is highly incompatible with the open source philosophy. If you
90add to the cube source code, you fork the code and it becomes your own project,
91do not ask for me to integrate your changes into the main branch, no matter
92how brilliant they are.
93
94
95CHEATING
96========
97If you want to use cube as a base for a game where the multiplayer aspect is
98important and used by a large community, you need to be aware that cube's
99thick client - thin server architecture is extremely cheat sensitive. If you
100release a cube based game with source code equivalent to the binaries, some
101minor changes can give anyone an aimbot or other cheats in online games.
102There are several ways to make this less easy, some of which are:
103
1041. only distribute binaries (the ZLIB license allows this). Executables can still
105   be hacked, but unless you have a really large online community, noone will
106   probably bother.
1072. write a network proxy, such as qizmo used with QuakeWorld (whose sources are
108   also open source). The proxy is a small closed source program that checksums
109   the executable, and maybe also some game media. You can then make servers
110   or game admins request this information and ban cheaters.
1113. release the sources with an incompatible network protocol or other changes
112   compared to the binaries you release.
1134. build serious cheat detection into the game. Since all clients are their own
114   "servers", you can make them all keep track of stats for the other players,
115   such as health etc. you can make all sorts of consistency checks on shots,
116   movement speed and items. If the discrepancy for a certain client becomes
117   too big, all clients but the cheater can send their "vote" to the server
118   for having him banned. Even better, you can add server side stat checking.
119
120For the cube's own game I chose option 3, i.e. you can only play the official
121cube game using the binaries supplied by me, and you can't compile your own clients
122for multiplayer use (you can still make custom clients that work with matching
123custom servers, or play cube single player maps compatible with the real thing).
124This situation is not ideal, but there is no easy way around it.
125
126This scheme is probably very easy to defeat if you are capable of using disassemblers
127and packet sniffers, but please contrain yourself and don't ruin the fun of the
128cube multiplayer community. Thanks.
129
130
131AUTHOR
132======
133Wouter van Oortmerssen aka Aardappel
134wvo@fov120.com
135http://wouter.fov120.com
136
137For additional authors/contributors, see the cube binary distribution readme.html
Note: See TracBrowser for help on using the browser.