Commit Graph

452 Commits (5b518ed2feff28c9bf21ad940c1b211b72d71bd1)

Author SHA1 Message Date
Jürgen Doser 89b88917a8 Print missing mod dependencies on server start
i.e., not only the mod with missing dependencies, but also the missing
dependencies itself. (This already used to be the case before the mod
selection gui was added)

Also, mods with unsatisfied dependencies are no longer reported as
mods that could not be found.
2013-02-20 20:06:39 +01:00
MirceaKitsune df3c925b3c Improved Player Physics 2013-02-14 06:21:30 +10:00
kwolekr 91e88196c7 Make mapgen factory setup more elegant, add mapgen_v6.h 2013-01-23 16:16:49 -05:00
kwolekr 318669327e Fix compile on certain Linux configurations, reduce spawn point height 2013-01-21 21:41:37 +02:00
kwolekr 631a835e07 Finish and clean up mapgen configuration 2013-01-21 21:41:37 +02:00
kwolekr cde3d38766 Clean up EmergeManager, do initial work on Mapgen configuration 2013-01-21 21:41:37 +02:00
kwolekr d5029958b9 Readded and optimized mapgen V6 2013-01-21 21:41:37 +02:00
kwolekr 11afcbff69 The new mapgen, noise functions, et al. 2013-01-21 21:41:33 +02:00
kwolekr 736b386554 Make WATER_LEVEL configurable, fix slight comparison bug in findSpawnPos() 2013-01-21 21:41:09 +02:00
Jürgen Doser 6af8a34d91 Basic support for configuring which mods to load for each world
settings.h: added function to return all keys used in settings, and a
function to remove a setting

mods.{h,cpp}: added class ModConfiguration that represents a subset of the installed mods.

server.{h,cpp}: server does not load add-on mods that are disabled in
the world.mt file. mods are disabled by a setting of the form
"load_mod_<modname> = false". if no load_mod_<modname> = ... setting
is found, the mod is loaded anyways for backwards compatibilty. server
also complains to errorstream about mods with unstatisfied
dependencies and about mods that are not installed.

guiConfigureWorld.{h,cpp}: shows a treeview of installed add-on mods
and modpacks with little icons in front of their name indicating their
status: a checkmark for enabled mods, a cross for disabled mods, a
question mark for "new" mods

Mods can be enabled/disabled by a checkbox. Mods also show a list of
dependencies and reverse dependencies. double-click on a mod in
dependency or reverse dependency listbox selects the corresponding
mod. Enabling a mod also enables all its dependencies. Disabling a mod
also disables all its reverse dependencies.

For modpacks, show buttons to enable/disable all mods (recursively,
including their dependencies) in it.

Button "Save" saves the current settings to the world.mt file and
returns to the main menu. Button "Cancel" returns to main menu without
saving.

basic keyboard controls (if the proper widget has keyboard focus):

up/down: scroll through tree of mods
left/right: collaps/expand a modpack
space: enable/disable the selected mod
2013-01-21 17:31:50 +02:00
PilzAdam 8aa190606e Disable all HP handling if enable_damage is false 2013-01-07 18:39:45 +01:00
sapier 0b1d09ff4f Fix buttons not working for Lua-triggered formspecs 2013-01-07 19:00:33 +02:00
sapier da9707950e Add TOCLIENT_SHOW_FORMSPEC to display formspecs at client from lua 2013-01-02 20:59:37 +02:00
Ilya Zhuravlev e301bc2d77 Fix hypen used as minus sign (manpages), fix spelling error (server.cpp) 2012-12-17 19:46:54 +04:00
Ilya Zhuravlev 3578e1d4a7 Added ability to fetch media from remote server (using cURL library) 2012-12-16 15:20:18 +04:00
Kahrl 22e6fb7056 ShaderSource and silly example shaders 2012-12-02 00:46:18 +02:00
Perttu Ahola 8a93581c8a Run scriptapi_on_shutdown() thread-safely and remove some old crap 2012-11-30 19:41:13 +02:00
Matthew I 6c8fa83ecd Add shutdown hook interface to Lua API
Scripts can call minetest.register_on_shutdown() to register a
shutdown hook.

Document that minetest.register_on_shutdown() callbacks may not be run

If the server crashes, it is unlikely that callbacks registered using
minetest.register_on_shutdown() will be called.
2012-11-30 19:26:51 +02:00
Perttu Ahola 7b6d642300 Full protocol 13 compatibility on server side 2012-11-29 22:08:25 +02:00
Perttu Ahola 96a286dcf5 Make strict and non-strict protocol version checking to work more like expected 2012-11-29 22:08:25 +02:00
Perttu Ahola 8ccdd3bdb4 Ranged support of protocol version on server side 2012-11-29 22:08:25 +02:00
Perttu Ahola 23913f26cd Support serialization of protocol 13 ContentFeatures 2012-11-29 22:08:25 +02:00
Perttu Ahola 6b927229f5 Default server step to 0.1s and sync object/player update intervals to it 2012-11-26 22:34:59 +02:00
Perttu Ahola eca1c96412 Move util/serialize.h out from staticobject.h for smaller header dependencies 2012-11-26 11:18:34 +02:00
Perttu Ahola 197542c7ec New PROTOCOL_VERSION scheme (allow client to support a range of versions) 2012-11-26 09:49:07 +02:00
MirceaKitsune 3d1c481f0b RealBadAngel's patch which allows the lua api to read pressed player keys. This should make it possible to change the player's animation based on what he is doing
Correct lua api version number

Always update animations and attachments after the entity is added to scene client side. Fixes animations not being applied in client initialization for some reason. Attachments should be re-tested now just to be safe.

Fix a segmentation fault caused by reaching materials that didn't exist in a loop for setting texture
2012-11-25 19:14:24 +02:00
MirceaKitsune 9259d028ac Update attachments at the ending of the addToScene function for parents. And with this... *drum roll* Client-side attachments are at last functional and stick visibly.
Fix the last segmentation fault (apparently). So far attachments seem to be fully functional, although removing the parent causes children to go to origin 0,0,0 and possibly still cause such a fault (though this should already be addressed)

Fix a bug in falling code where entities get stuck

Also check if the parent has been removed server-side, and detach the child if so. Fixes children going to origin 0,0,0 when their parent is removed.

Unset all attachment properties when permanently detaching (on both the client and server). Also store less data we don't need

Create a separate function for detaching, and also update lua api documentation

When a child is detached, update its position from the server to clients. This WILL cause it to get positioned slightly differently client side, as the server attachment system only copies parent origin and knows not about mesh / bone transformation. This prevents different clients seeing the object detached in different spots which is most correct

Update the position of attached players to clients. An attached player will see himself move, but this is currently VERY ugly and laggy as it is done by the server (it probably must stay this way too)

Use a different approach for locally attached players. This allows for smooth positio transitions to work, as well at the player turning around freely. Still buggy however
2012-11-25 19:14:24 +02:00
MirceaKitsune 9c8ba42750 Get the mesh working through the memory cache properly. Most credit goes to celeron55 for the help on this code
Get the texture from memory as well

Add .x to the list of supported formats

Update LUA API documentation
2012-11-25 18:14:15 +02:00
MirceaKitsune f9675bd2b4 Add a subfolder for models and transfer models from server to client
(obj, md2 and md3 are currently allowed)

Get rid of the texture string and use the existing textures array. Segmented meshes have multiple materials, and this will allow us to texture each. Do not switch to this commit yet!

If a texture string is left empty in LUA, don't modify that material. Useful so a script can change specific textures without affecting others
2012-11-25 18:14:15 +02:00
Perttu Ahola b6c12d2aa3 Fix github issue #224 2012-09-01 18:32:15 +03:00
Matthew I b29d609b0b Move chat commands to Lua and remove servercommand.{cpp,h}
Commands moved:
 /me
 /status
 /time
 /shutdown
 /ban
 /clearobjects
2012-08-12 16:45:58 +03:00
Matthew I 8e0ac70c4d Remove trailing comma after player list in server status string 2012-08-12 16:44:54 +03:00
Perttu Ahola c9ed379e39 Add enable_rollback_recording setting, defaulting to false 2012-07-28 03:08:09 +03:00
Perttu Ahola f7dc72f8aa Properly rollback chat command triggered things 2012-07-27 02:37:04 +03:00
Perttu Ahola 0190f9b077 Experimental-ish rollback functionality 2012-07-27 02:27:18 +03:00
Perttu Ahola 0a18dda158 Remove special handling of creative mode 2012-07-25 14:07:45 +03:00
Perttu Ahola 2ac20982e0 Detached inventories 2012-07-24 20:57:17 +03:00
Perttu Ahola 0cf1ed544c darkrose should work at a nuclear power plant.
It'd take years to figure out what caused the accident.
2012-07-24 16:36:50 +03:00
darkrose ea62ee4b61 Increase node id/param0 to 16 bits, leaving param2 always with 8 bits 2012-07-23 08:18:39 +03:00
darkrose cd6becd442 Implement node timers 2012-07-23 08:18:37 +03:00
Perttu Ahola 4cc98d7add minetest.register_on_player_receive_fields() 2012-07-22 17:40:48 +03:00
Matthew I 136eb32389 Add minetest.get_modnames() to Lua API 2012-07-22 13:36:03 +03:00
Perttu Ahola 2795f44f03 Server-side checking of digging; disable_anticheat setting 2012-07-21 14:38:49 +03:00
Perttu Ahola 71c6845a94 Define M_PI on MSVC 2012-07-21 03:36:34 +03:00
darkrose 08e1d40d6e Add support for "textures/all" (and thus texture packs) to server 2012-07-21 02:33:19 +03:00
Calinou 61e58ee9b7 Message cleanups (consistency) and prevent /me when not allowed to shout 2012-07-21 02:27:58 +03:00
Perttu Ahola 16ad10e62f Allow defining player's inventory form in Lua 2012-07-19 14:09:16 +03:00
Perttu Ahola d0ea6f9920 Properly and efficiently use split utility headers 2012-06-17 02:40:36 +03:00
Perttu Ahola 1bc37d576c Initially split utility.h to multiple files in util/ 2012-06-17 01:29:13 +03:00
Perttu Ahola 6a0388bb4b Node placement client-side prediction 2012-06-10 12:46:48 +03:00
Perttu Ahola 4b2cc38aba Add disallow_empty_password setting 2012-06-07 02:11:28 +03:00
Perttu Ahola 037b259197 Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors 2012-06-05 18:54:07 +03:00
Perttu Ahola f48882213e Add ignore_world_load_errors configuration option and provide better error messages 2012-06-04 22:34:40 +03:00
Perttu Ahola d7447cdf9e Implement sign using form field protocol 2012-06-03 22:31:01 +03:00
Kahrl 704782c95b WIP node metadata, node timers 2012-06-03 22:31:00 +03:00
Perttu Ahola 67059e1932 Catch VersionMismatchException while loading world data 2012-06-03 20:42:49 +03:00
Perttu Ahola e2ea711136 Check password hash validity 2012-06-03 20:32:44 +03:00
Perttu Ahola 0aeb5adb8f Fix continuing to process TOSERVER_INIT2 even if player doesn't exist 2012-04-14 18:46:10 +03:00
Perttu Ahola 1eac6ff8ff Fix unhandled InvalidPositionException 2012-04-10 18:16:03 +03:00
Perttu Ahola f8c2f1cf54 Make client know about reverted disallowed diggings 2012-04-09 21:13:22 +03:00
Perttu Ahola 7281c68b27 Fix segfault when setting privileges of a non-connected player 2012-04-07 18:46:10 +03:00
Perttu Ahola 491287c0af Don't apply player movement cheat detection in singleplayer 2012-04-01 13:19:50 +03:00
Perttu Ahola 56ba193c77 Allow getting the path of builtin.lua using minetest.get_modpath("__builtin") 2012-04-01 12:38:14 +03:00
Perttu Ahola 13159c1a48 Add server-side enforcement of the 'fast' privilege; also fix client checking 'fly' instead of 'fast' 2012-03-31 17:08:39 +03:00
Perttu Ahola 52122c342d Add 'fly' and 'fast' privileges and the underlying privileges-to-client system 2012-03-31 16:25:02 +03:00
Perttu Ahola 462003363f Make server ignore media files with unknown filename extensions 2012-03-30 22:49:44 +03:00
Perttu Ahola 7cad0a2dcd Reimplement authentication handler in Lua; now we have 1) infinite privilege names, 2) minetest.register_authentication_handler() 2012-03-30 18:42:18 +03:00
Perttu Ahola 443f45eca1 Add GenericCAO and player armor groups, but don't use them yet 2012-03-29 16:10:11 +03:00
Kahrl a9ddbb4beb on_joinplayer + on_leaveplayer + scriptapi_run_callbacks + bugfix
Add minetest.register_on_joinplayer and minetest.register_on_leaveplayer,
make adding new callbacks to scriptapi.cpp easier by adding
scriptapi_run_callbacks, also fix a minor bug with PlayerSAO <->
singleplayer mode interaction
2012-03-29 14:27:09 +03:00
Kahrl f8c3743991 added PlayerSAO and RemotePlayer, removed ServerRemotePlayer 2012-03-29 14:05:45 +03:00
Perttu Ahola 582ca33507 Remove unnecessary debug output 2012-03-29 01:38:13 +03:00
Perttu Ahola a6ca7eb29d Area-based MapEditEvent ignore and that put to use for on_generate too 2012-03-29 01:22:08 +03:00
Perttu Ahola 02c035c548 Reduce EnvRef:set_node() time tenfold by postponing the dayNightDiff update until it is actually needed 2012-03-29 00:28:48 +03:00
Perttu Ahola 418041d906 Fix on_generate minp/maxp (was broken due to chunkymapgen) 2012-03-28 23:11:28 +03:00
Perttu Ahola 9a1df7bf38 Add blockseed to on_generated 2012-03-28 22:01:21 +03:00
Perttu Ahola 14a8fa4d68 Correctly lock mutexes when the server sends MapEditEvents (could cause memory corruption) 2012-03-28 12:51:47 +03:00
Perttu Ahola c04f4a7d73 Tune generation responsiveness and cheat inhibition on server 2012-03-27 19:05:59 +03:00
Perttu Ahola 6f20a73782 Tune block fetching to clients on server 2012-03-27 19:01:52 +03:00
Perttu Ahola 1cac1de3b2 Almost support loading sounds from server 2012-03-25 14:48:22 +03:00
Perttu Ahola 26666bb36f Add more media directories; mod/{textures,sounds,media} 2012-03-25 12:10:58 +03:00
Perttu Ahola f801e16b78 Texture cache -> Media cache WIP 2012-03-25 11:51:33 +03:00
Perttu Ahola 601d1936c9 Lua API for playing sounds 2012-03-24 19:01:26 +02:00
Perttu Ahola 6c14025b2d Add event manager and use it to trigger sounds 2012-03-24 04:24:26 +02:00
Perttu Ahola c301e3c82a celeron55's sound system initial framework 2012-03-24 04:24:23 +02:00
Perttu Ahola 9bd75d5668 Log at info level when a banned client connects 2012-03-22 13:35:32 +02:00
Perttu Ahola 50621ffe85 Fix mod paths 2012-03-20 01:07:02 +02:00
Perttu Ahola 19ed3bb193 Move share/builtin.lua to share/builtin/builtin.lua 2012-03-19 21:37:27 +02:00
Perttu Ahola 1f56d71f19 Rework directory structure 2012-03-19 20:44:07 +02:00
Perttu Ahola 1ff20da5b6 Add the mod search path user/mods/gameid 2012-03-19 08:34:38 +02:00
Perttu Ahola 2e90ed07ac Dynamic sky, fog and cloud colors; sun and moon 2012-03-18 13:42:18 +02:00
Perttu Ahola 5957fed9a7 Fix and improve Server's privilege get/setters 2012-03-15 15:38:59 +02:00
Perttu Ahola 6298878bfa Add "simple singleplayer mode"; Fix a number of GUI things 2012-03-15 15:20:20 +02:00
Perttu Ahola 591527d878 World creation button and dialog and functionality 2012-03-13 00:06:37 +02:00
Perttu Ahola 618314985d Proper handling of failing to bind server socket 2012-03-11 20:45:43 +02:00
Perttu Ahola 45f78bdf40 Mention world location at server startup at action level 2012-03-11 15:49:14 +02:00
Perttu Ahola 6a1b6d0344 world.mt creation 2012-03-11 15:04:50 +02:00
Perttu Ahola 7f7fb9750d command-line/world game selection 2012-03-11 14:54:23 +02:00
Perttu Ahola d330430336 Prettify --help output 2012-03-11 11:02:22 +02:00
Perttu Ahola f1d9880006 Clean up log messages everywhere 2012-03-11 04:15:45 +02:00
Perttu Ahola e80bc6ef58 Tidy up server log output a bit 2012-03-10 17:10:16 +02:00