Update changelog and call this 0.3.3
[oweals/minetest.git] / README.txt
1 Minetest-c55
2 ---------------
3 An InfiniMiner/Minecraft inspired game.
4 Copyright (c) 2010-2011 Perttu Ahola <celeron55@gmail.com>
5 (see source files for other contributors)
6
7 Further documentation:
8 ----------------------
9 - Website: http://celeron.55.lt/~celeron55/minetest/
10 - Wiki: http://celeron.55.lt/~celeron55/minetest/wiki/
11 - Forum: http://celeron.55.lt/~celeron55/minetest/forum/
12 - doc/ directory of source distribution
13
14 This game is not finished:
15 --------------------------
16 - Don't expect it to work as well as a finished game will.
17 - Please report any bugs to me. debug.txt is useful.
18
19 Controls:
20 ---------
21 - See the in-game pause menu
22 - Settable in the configuration file, see the section below.
23
24 Map directory:
25 --------------
26 - Map is stored in a directory, which can be removed to generate a new map.
27 - There is a command-line option for it: --map-dir
28 - For a RUN_IN_PLACE build, it is located in:
29                 ../world
30 - Otherwise something like this:
31         Windows: C:\Documents and Settings\user\Application Data\minetest\world
32         Linux: ~/.minetest/world
33         OS X: ~/Library/Application Support/minetest/world
34
35 Configuration file:
36 -------------------
37 - An optional configuration file can be used. See minetest.conf.example.
38 - Path to file can be passed as a parameter to the executable:
39         --config <path-to-file>
40 - Defaults:
41         - If built with -DRUN_IN_PLACE=1:
42                 ../minetest.conf
43                 ../../minetest.conf
44         - Otherwise something like this:
45                 Windows: C:\Documents and Settings\user\Application Data\minetest\minetest.conf
46                 Linux: ~/.minetest/minetest.conf
47                 OS X: ~/Library/Application Support/minetest.conf
48
49 Command-line options:
50 ---------------------
51 - Use --help
52
53 Compiling on GNU/Linux:
54 -----------------------
55
56 Install dependencies. Here's an example for Debian/Ubuntu:
57 $ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev
58
59 Download source, extract (this is the URL to the latest of source repository, which might not work at all times):
60 $ wget https://github.com/celeron55/minetest/tarball/master -O master.tar.gz
61 $ tar xf master.tar.gz
62 $ cd celeron55-minetest-286edd4 (or similar)
63
64 Build a version that runs directly from the source directory:
65 $ cmake . -DRUN_IN_PLACE=1
66 $ make -j2
67
68 Run it:
69 $ cd bin
70 $ ./minetest
71
72 - Use cmake . -LH to see all CMake options and their current state
73 - If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0
74 - You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0
75 - You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
76   - Debug build is slower, but gives much more useful output in a debugger
77
78 Compiling on Windows:
79 ---------------------
80
81 - You need:
82         * CMake:
83                 http://www.cmake.org/cmake/resources/software.html
84         * MinGW or Visual Studio
85                 http://www.mingw.org/
86                 http://msdn.microsoft.com/en-us/vstudio/default
87         * Irrlicht SDK 1.7:
88                 http://irrlicht.sourceforge.net/downloads.html
89         * Zlib headers (zlib125.zip)
90                 http://www.winimage.com/zLibDll/index.html
91         * Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
92                 http://www.winimage.com/zLibDll/index.html
93         * Optional: gettext bibrary and tools:
94                 http://gnuwin32.sourceforge.net/downlinks/gettext.php
95                 - This is used for other UI languages. Feel free to leave it out.
96         * And, of course, Minetest-c55:
97                 http://celeron.55.lt/~celeron55/minetest/download
98 - Steps:
99         - Select a directory called DIR hereafter in which you will operate.
100         - Make sure you have CMake and a compiler installed.
101         - Download all the other stuff to DIR and extract them into there.
102           ("extract here", not "extract to packagename/")
103         - All those packages contain a nice base directory in them, which
104           should end up being the direct subdirectories of DIR.
105         - You will end up with a directory structure like this (+=dir, -=file):
106         -----------------
107         + DIR
108                 - zlib-1.2.5.tar.gz
109                 - zlib125dll.zip
110                 - irrlicht-1.7.1.zip
111                 - 110214175330.zip (or whatever, this is the minetest source)
112                 + zlib-1.2.5
113                         - zlib.h
114                         + win32
115                         ...
116                 + zlib125dll
117                         - readme.txt
118                         + dll32
119                         ...
120                 + irrlicht-1.7.1
121                         + lib
122                         + include
123                         ...
124                 + gettext (optional)
125                         +bin
126                         +include
127                         +lib
128                 + minetest
129                         + src
130                         + doc
131                         - CMakeLists.txt
132                         ...
133         -----------------
134         - Start up the CMake GUI
135         - Select "Browse Source..." and select DIR/minetest
136         - Now, if using MSVC:
137                 - Select "Browse Build..." and select DIR/minetest-build
138         - Else if using MinGW:
139                 - Select "Browse Build..." and select DIR/minetest
140         - Select "Configure"
141         - Select your compiler
142         - It will warn about missing stuff, ignore that at this point. (later don't)
143         - Make sure the configuration is as follows
144           (note that the versions may differ for you):
145         -----------------
146         BUILD_CLIENT             [X]
147         BUILD_SERVER             [ ]
148         CMAKE_BUILD_TYPE         Release
149         CMAKE_INSTALL_PREFIX     DIR/minetest-install
150         IRRLICHT_SOURCE_DIR      DIR/irrlicht-1.7.1
151         RUN_IN_PLACE             [X]
152         WARN_ALL                 [ ]
153         ZLIB_DLL                 DIR/zlib125dll/dll32/zlibwapi.dll
154         ZLIB_INCLUDE_DIR         DIR/zlib-1.2.5
155         ZLIB_LIBRARIES           DIR/zlib125dll/dll32/zlibwapi.lib
156         GETTEXT_BIN_DIR          DIR/gettext/bin
157         GETTEXT_INCLUDE_DIR      DIR/gettext/include
158         GETTEXT_LIBRARIES        DIR/gettext/lib/intl.lib
159         GETTEXT_MSGFMT           DIR/gettext/bin/msgfmt
160         -----------------
161         - Hit "Configure"
162         - Hit "Configure" once again 8)
163         - If something is still coloured red, you have a problem.
164         - Hit "Generate"
165         If using MSVC:
166                 - Open the generated minetest.sln
167                 - The project defaults to the "Debug" configuration. Make very sure to
168                   select "Release", unless you want to debug some stuff (it's slower
169                   and might not even work at all)
170                 - Build the ALL_BUILD project
171                 - Build the INSTALL project
172                 - You should now have a working game with the executable in
173                         DIR/minetest-install/bin/minetest.exe
174                 - Additionally you may create a zip package by building the PACKAGE
175                   project.
176         If using MinGW:
177                 - Using the command line, browse to the build directory and run 'make'
178                   (or mingw32-make or whatever it happens to be)
179                 - You should now have a working game with the executable in
180                         DIR/minetest/bin/minetest.exe
181
182 Windows releases of minetest are built using a bat script like this:
183 --------------------------------------------------------------------
184
185 set installpath="C:\tmp\minetest_install"
186 set irrlichtpath="C:\tmp\irrlicht-1.7.2"
187
188 set sourcedir=%CD%
189 set builddir=%sourcedir%\bvc10
190 mkdir %builddir%
191 pushd %builddir%
192 cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=1 -DCMAKE_INSTALL_PREFIX=%installpath%
193 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release
194 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release
195 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release
196 popd
197
198 License of Minetest-c55 textures
199 --------------------------------
200
201 This does not apply to texture packs made by others.
202
203 Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)                                 
204 http://creativecommons.org/licenses/by-sa/3.0/
205
206 License of Minetest-c55
207 -----------------------
208
209 Minetest-c55
210 Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
211
212 This program is free software; you can redistribute it and/or modify
213 it under the terms of the GNU General Public License as published by
214 the Free Software Foundation; either version 2 of the License, or
215 (at your option) any later version.
216
217 This program is distributed in the hope that it will be useful,
218 but WITHOUT ANY WARRANTY; without even the implied warranty of
219 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
220 GNU General Public License for more details.
221
222 You should have received a copy of the GNU General Public License along
223 with this program; if not, write to the Free Software Foundation, Inc.,
224 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
225
226 Irrlicht
227 ---------------
228
229 This program uses the Irrlicht Engine. http://irrlicht.sourceforge.net/
230
231  The Irrlicht Engine License
232
233 Copyright © 2002-2005 Nikolaus Gebhardt
234
235 This software is provided 'as-is', without any express or implied
236 warranty. In no event will the authors be held liable for any damages
237 arising from the use of this software.
238
239 Permission is granted to anyone to use this software for any purpose,
240 including commercial applications, and to alter it and redistribute
241 it freely, subject to the following restrictions:
242
243    1. The origin of this software must not be misrepresented; you
244       must not claim that you wrote the original software. If you use
245           this software in a product, an acknowledgment in the product
246           documentation would be appreciated but is not required.
247    2. Altered source versions must be plainly marked as such, and must
248       not be misrepresented as being the original software.
249    3. This notice may not be removed or altered from any source
250       distribution.
251
252
253 JThread
254 ---------------
255
256 This program uses the JThread library. License for JThread follows:
257
258 Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
259
260 Permission is hereby granted, free of charge, to any person obtaining a
261 copy of this software and associated documentation files (the "Software"),
262 to deal in the Software without restriction, including without limitation
263 the rights to use, copy, modify, merge, publish, distribute, sublicense,
264 and/or sell copies of the Software, and to permit persons to whom the
265 Software is furnished to do so, subject to the following conditions:
266
267 The above copyright notice and this permission notice shall be included
268 in all copies or substantial portions of the Software.
269
270 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
271 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
272 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
273 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
274 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
275 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
276 IN THE SOFTWARE.
277
278