Add to README.txt's example dependencies on Linux: libogg-dev libvorbis-dev libopenal-dev
[oweals/minetest.git] / README.txt
1 Minetest-c55
2 ============
3
4 An InfiniMiner/Minecraft inspired game.
5
6 Copyright (c) 2010-2012 Perttu Ahola <celeron55@gmail.com>
7 and ther contributors (see source file comments and the version control log)
8
9 In case you downloaded the source code:
10 ---------------------------------------
11 If you downloaded the Minetest Engine source code in which this file is
12 contained, you probably want to download the minetest_game project too:
13   https://github.com/celeron55/minetest_game/
14 See the README.txt in it.
15
16 Further documentation
17 ----------------------
18 - Website: http://c55.me/minetest/
19 - Wiki: http://c55.me/minetest/wiki/
20 - Forum: http://c55.me/minetest/forum/
21 - Github: https://github.com/celeron55/minetest/
22 - doc/ directory of source distribution
23
24 This game is not finished
25 --------------------------
26 - Don't expect it to work as well as a finished game will.
27 - Please report any bugs. When doing that, debug.txt is useful.
28
29 Default Controls
30 -----------------
31 - WASD: Move
32 - Space: Jump
33 - E: Go down
34 - Shift: Sneak
35 - Q: Drop item
36 - I: Open inventory
37 - Mouse: Turn/look
38 - Settable in the configuration file, see the section below.
39
40 Paths
41 ------
42 $bin   - Compiled binaries
43 $share - Cistributed read-only data
44 $user  - User-created modifiable data
45
46 Windows .zip / RUN_IN_PLACE source:
47 $bin   = bin
48 $share = .
49 $user  = .
50
51 Linux installed:
52 $bin   = /usr/bin
53 $share = /usr/share/minetest
54 $user  = ~/.minetest
55
56 OS X:
57 $bin   = ?
58 $share = ?
59 $user  = ~/Library/Application Support/minetest
60
61 World directory
62 ----------------
63 - Worlds can be found as separate folders in:
64     $user/worlds/
65
66 Configuration file:
67 -------------------
68 - Default location:
69     $user/minetest.conf
70 - It is created by Minetest when it is ran the first time.
71 - A specific file can be specified on the command line:
72         --config <path-to-file>
73
74 Command-line options:
75 ---------------------
76 - Use --help
77
78 Compiling on GNU/Linux:
79 -----------------------
80
81 Install dependencies. Here's an example for Debian/Ubuntu:
82 $ apt-get install build-essential libirrlicht-dev cmake libbz2-dev libpng12-dev libjpeg8-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev
83
84 Download source, extract (this is the URL to the latest of source repository, which might not work at all times):
85 $ wget https://github.com/celeron55/minetest/tarball/master -O master.tar.gz
86 $ tar xf master.tar.gz
87 $ cd celeron55-minetest-286edd4 (or similar)
88
89 Build a version that runs directly from the source directory:
90 $ cmake . -DRUN_IN_PLACE=1
91 $ make -j2
92
93 Run it:
94 $ cd bin
95 $ ./minetest
96
97 - Use cmake . -LH to see all CMake options and their current state
98 - If you want to install it system-wide (or are making a distribution package), you will want to use -DRUN_IN_PLACE=0
99 - You can build a bare server or a bare client by specifying -DBUILD_CLIENT=0 or -DBUILD_SERVER=0
100 - You can select between Release and Debug build by -DCMAKE_BUILD_TYPE=<Debug or Release>
101   - Debug build is slower, but gives much more useful output in a debugger
102
103 Compiling on Windows:
104 ---------------------
105
106 - You need:
107         * CMake:
108                 http://www.cmake.org/cmake/resources/software.html
109         * MinGW or Visual Studio
110                 http://www.mingw.org/
111                 http://msdn.microsoft.com/en-us/vstudio/default
112         * Irrlicht SDK 1.7:
113                 http://irrlicht.sourceforge.net/downloads.html
114         * Zlib headers (zlib125.zip)
115                 http://www.winimage.com/zLibDll/index.html
116         * Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
117                 http://www.winimage.com/zLibDll/index.html
118         * Optional: gettext bibrary and tools:
119                 http://gnuwin32.sourceforge.net/downlinks/gettext.php
120                 - This is used for other UI languages. Feel free to leave it out.
121         * And, of course, Minetest-c55:
122                 http://c55.me/minetest/download
123 - Steps:
124         - Select a directory called DIR hereafter in which you will operate.
125         - Make sure you have CMake and a compiler installed.
126         - Download all the other stuff to DIR and extract them into there.
127           ("extract here", not "extract to packagename/")
128           NOTE: zlib125dll.zip needs to be extracted into zlib125dll
129         - All those packages contain a nice base directory in them, which
130           should end up being the direct subdirectories of DIR.
131         - You will end up with a directory structure like this (+=dir, -=file):
132         -----------------
133         + DIR
134                 - zlib-1.2.5.tar.gz
135                 - zlib125dll.zip
136                 - irrlicht-1.7.1.zip
137                 - 110214175330.zip (or whatever, this is the minetest source)
138                 + zlib-1.2.5
139                         - zlib.h
140                         + win32
141                         ...
142                 + zlib125dll
143                         - readme.txt
144                         + dll32
145                         ...
146                 + irrlicht-1.7.1
147                         + lib
148                         + include
149                         ...
150                 + gettext (optional)
151                         +bin
152                         +include
153                         +lib
154                 + minetest
155                         + src
156                         + doc
157                         - CMakeLists.txt
158                         ...
159         -----------------
160         - Start up the CMake GUI
161         - Select "Browse Source..." and select DIR/minetest
162         - Now, if using MSVC:
163                 - Select "Browse Build..." and select DIR/minetest-build
164         - Else if using MinGW:
165                 - Select "Browse Build..." and select DIR/minetest
166         - Select "Configure"
167         - Select your compiler
168         - It will warn about missing stuff, ignore that at this point. (later don't)
169         - Make sure the configuration is as follows
170           (note that the versions may differ for you):
171         -----------------
172         BUILD_CLIENT             [X]
173         BUILD_SERVER             [ ]
174         CMAKE_BUILD_TYPE         Release
175         CMAKE_INSTALL_PREFIX     DIR/minetest-install
176         IRRLICHT_SOURCE_DIR      DIR/irrlicht-1.7.1
177         RUN_IN_PLACE             [X]
178         WARN_ALL                 [ ]
179         ZLIB_DLL                 DIR/zlib125dll/dll32/zlibwapi.dll
180         ZLIB_INCLUDE_DIR         DIR/zlib-1.2.5
181         ZLIB_LIBRARIES           DIR/zlib125dll/dll32/zlibwapi.lib
182         GETTEXT_BIN_DIR          DIR/gettext/bin
183         GETTEXT_INCLUDE_DIR      DIR/gettext/include
184         GETTEXT_LIBRARIES        DIR/gettext/lib/intl.lib
185         GETTEXT_MSGFMT           DIR/gettext/bin/msgfmt
186         -----------------
187         - Hit "Configure"
188         - Hit "Configure" once again 8)
189         - If something is still coloured red, you have a problem.
190         - Hit "Generate"
191         If using MSVC:
192                 - Open the generated minetest.sln
193                 - The project defaults to the "Debug" configuration. Make very sure to
194                   select "Release", unless you want to debug some stuff (it's slower
195                   and might not even work at all)
196                 - Build the ALL_BUILD project
197                 - Build the INSTALL project
198                 - You should now have a working game with the executable in
199                         DIR/minetest-install/bin/minetest.exe
200                 - Additionally you may create a zip package by building the PACKAGE
201                   project.
202         If using MinGW:
203                 - Using the command line, browse to the build directory and run 'make'
204                   (or mingw32-make or whatever it happens to be)
205                 - You may need to copy some of the downloaded DLLs into bin/, see what
206                   running the produced executable tells you it doesn't have.
207                 - You should now have a working game with the executable in
208                         DIR/minetest/bin/minetest.exe
209
210 Windows releases of minetest are built using a bat script like this:
211 --------------------------------------------------------------------
212
213 set sourcedir=%CD%
214 set installpath="C:\tmp\minetest_install"
215 set irrlichtpath="C:\tmp\irrlicht-1.7.2"
216
217 set builddir=%sourcedir%\bvc10
218 mkdir %builddir%
219 pushd %builddir%
220 cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=1 -DCMAKE_INSTALL_PREFIX=%installpath%
221 if %errorlevel% neq 0 goto fail
222 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release
223 if %errorlevel% neq 0 goto fail
224 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release
225 if %errorlevel% neq 0 goto fail
226 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release
227 if %errorlevel% neq 0 goto fail
228 popd
229 echo Finished.
230 exit /b 0
231
232 :fail
233 popd
234 echo Failed.
235 exit /b 1
236
237 License of Minetest-c55 textures and sounds
238 -------------------------------------------
239
240 This applies to textures and sounds contained in the main Minetest
241 distribution.
242
243 Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)                                 
244 http://creativecommons.org/licenses/by-sa/3.0/
245
246 License of Minetest-c55 source code
247 -----------------------------------
248
249 Minetest-c55
250 Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
251
252 This program is free software; you can redistribute it and/or modify
253 it under the terms of the GNU General Public License as published by
254 the Free Software Foundation; either version 2 of the License, or
255 (at your option) any later version.
256
257 This program is distributed in the hope that it will be useful,
258 but WITHOUT ANY WARRANTY; without even the implied warranty of
259 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
260 GNU General Public License for more details.
261
262 You should have received a copy of the GNU General Public License along
263 with this program; if not, write to the Free Software Foundation, Inc.,
264 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
265
266 Irrlicht
267 ---------------
268
269 This program uses the Irrlicht Engine. http://irrlicht.sourceforge.net/
270
271  The Irrlicht Engine License
272
273 Copyright © 2002-2005 Nikolaus Gebhardt
274
275 This software is provided 'as-is', without any express or implied
276 warranty. In no event will the authors be held liable for any damages
277 arising from the use of this software.
278
279 Permission is granted to anyone to use this software for any purpose,
280 including commercial applications, and to alter it and redistribute
281 it freely, subject to the following restrictions:
282
283    1. The origin of this software must not be misrepresented; you
284       must not claim that you wrote the original software. If you use
285           this software in a product, an acknowledgment in the product
286           documentation would be appreciated but is not required.
287    2. Altered source versions must be plainly marked as such, and must
288       not be misrepresented as being the original software.
289    3. This notice may not be removed or altered from any source
290       distribution.
291
292
293 JThread
294 ---------------
295
296 This program uses the JThread library. License for JThread follows:
297
298 Copyright (c) 2000-2006  Jori Liesenborgs (jori.liesenborgs@gmail.com)
299
300 Permission is hereby granted, free of charge, to any person obtaining a
301 copy of this software and associated documentation files (the "Software"),
302 to deal in the Software without restriction, including without limitation
303 the rights to use, copy, modify, merge, publish, distribute, sublicense,
304 and/or sell copies of the Software, and to permit persons to whom the
305 Software is furnished to do so, subject to the following conditions:
306
307 The above copyright notice and this permission notice shall be included
308 in all copies or substantial portions of the Software.
309
310 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
311 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
312 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
313 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
314 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
315 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
316 IN THE SOFTWARE.
317
318 Lua
319 ---------------
320
321 Lua is licensed under the terms of the MIT license reproduced below.
322 This means that Lua is free software and can be used for both academic
323 and commercial purposes at absolutely no cost.
324
325 For details and rationale, see http://www.lua.org/license.html .
326
327 Copyright (C) 1994-2008 Lua.org, PUC-Rio.
328
329 Permission is hereby granted, free of charge, to any person obtaining a copy
330 of this software and associated documentation files (the "Software"), to deal
331 in the Software without restriction, including without limitation the rights
332 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
333 copies of the Software, and to permit persons to whom the Software is
334 furnished to do so, subject to the following conditions:
335
336 The above copyright notice and this permission notice shall be included in
337 all copies or substantial portions of the Software.
338
339 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
340 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
341 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
342 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
343 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
344 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
345 THE SOFTWARE.
346
347 Fonts
348 ---------------
349
350 DejaVu Sans Mono:
351
352   Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
353   Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
354
355   Bitstream Vera Fonts Copyright:
356
357   Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
358   a trademark of Bitstream, Inc.
359
360   Arev Fonts Copyright:
361
362   Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
363
364