aboutsummaryrefslogtreecommitdiff
path: root/src/server.h
AgeCommit message (Collapse)Author
2013-12-18Handle LuaErrors in Lua -> C++ calls on LuaJITShadowNinja
2013-12-13Rewrite client media download and support hash-based remote downloadKahrl
Move most of the media-related code in client.cpp into a new class ClientMediaDownloader (clientmedia.cpp, clientmedia.h). Among other things, this class does the following things: - Download [remote_server][sha1] instead of [remote_server][name]. This is to support servers that provide the same file name with different contents. - Initially fetch [remote_server]index.mth. This file should follow the Minetest Hashset format (currently version 1) and contain a list of SHA1 hashes that exist on the server. - The list of needed SHA1s is uploaded (via HTTP POST) when index.mth is requested, so servers can optionally narrow down the list to the needs of the client. - If index.mth is missing (HTTP response code 404), we enter compat mode, fetching [remote_server][name] as before this commit. - remote_server can now contain multiple servers, separated by commas. The downloader code attempts to split requests between the different servers, as permitted by each server's index.mth. If one server claims to have a file but actually doesn't (or something fails), we ask a different server that also claims to have it. - As before, when none of the remote servers provide a particular file, we download it via the conventional method, i.e. using the minetest protocol: TOSERVER_REQUEST_MEDIA / TOCLIENT_MEDIA. - Bugfix: Every downloaded file's SHA1 is now verified against the SHA1 announced by the minetest server (before loading it and inserting it into the file cache). - Bugfix: Only send TOSERVER_RECEIVED_MEDIA when we actually have all media. This should fix #863.
2013-11-30Add minetest.swap_nodeNovatux
2013-10-18Masterserver updateproller
2013-09-16Weather: Clean up getHeat/getHumidity somewhatkwolekr
2013-09-09Make it compileSfan5
2013-09-09Add dummy and LevelDB database backendsIlya Zhuravlev
2013-09-05Use player:set_hotbar_image() instead of hardcoded hotbar.pngPilzAdam
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-08-04Fix server getting completely choked up on even a little of DoSPerttu Ahola
* If client count is unbearable, immediately delete denied clients * Re-prioritize the checking order of things about incoming clients * Remove a huge CPU-wasting exception in ReliablePacketBuffer
2013-08-02Weather backward compatibilityproller
2013-07-20Add set_breath and get_breath to lua API.RealBadAngel
2013-05-26Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAMKahrl
2013-05-25Move scriptapi to separate folder (by sapier)sapier
On the lua side, notably minetest.env:<function>(<args>) should now be replaced by minetest.<function>(<args>). The old way is and will stay supported for a long time. Also: Update and clean up lua_api.txt (by celeron55) Move EnvRef to lua and remove add_rat and add_firefly (by kahrl) Add separate src/util/CMakeLists.txt, other minor fixes (by kahrl)
2013-04-25Generalize hud_builtin_enable into hud_set_flagskwolekr
2013-04-24Added support to disable built-in HUD elementsDiego Martínez
2013-04-23Add option to not prepend "Server -!- " to messages sent with ↵ShadowNinja
minetest.chat_send_player()
2013-04-18Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modificationkwolekr
2013-04-18Lua HUDJonathon Anderson
2013-04-07Add Mapgen V7, reorganize biomeskwolekr
2013-03-29New damage system, add damageGroups to ToolCapabilities, bump protocol versionPilzAdam
2013-03-23Allow spawning particles from the server, from luaJeija
Spawn single particles or make use of ParticleSpawner for many randomly spawned particles. Accessible in Lua using minetest.spawn_particle and minetest.add_particlespawner. Increase Protocol Version to 17. Conflicts: src/clientserver.h
2013-03-11Migrate to STL containers/algorithms.Ilya Zhuravlev
2013-02-25Merge pull request #482 from proller/liquidkwolekr
finite liquid
2013-02-25Remove dead code, relocate some codekwolekr
2013-02-25Add emerge.cpp, initial EmergeThread changeskwolekr
- Neatly placed all emerge related code into a new file, emerge.cpp - Greatly cleaned up the code in EmergeThread::Thread() - Reworked Emerge queue. Now an actual std::queue of v3s16 block positions - Removed the completely unnecessary map of peer ids requesting blocks
2013-02-24Update Copyright YearsSfan5
2013-02-24Change Minetest-c55 to MinetestPilzAdam
2013-02-24new adjustable finite liquidproller
2013-02-22new auto masterserverproller
2013-02-14Improved Player PhysicsMirceaKitsune
2013-01-21Finish and clean up mapgen configurationkwolekr
2013-01-21Add initial Lua biomedef support, fixed biome selectionkwolekr
2013-01-21The new mapgen, noise functions, et al.kwolekr
2013-01-21Basic support for configuring which mods to load for each worldJürgen Doser
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-07Fix buttons not working for Lua-triggered formspecssapier
2013-01-02Add TOCLIENT_SHOW_FORMSPEC to display formspecs at client from luasapier
2012-12-02ShaderSource and silly example shadersKahrl
2012-11-29Ranged support of protocol version on server sidePerttu Ahola
2012-07-28Add enable_rollback_recording setting, defaulting to falsePerttu Ahola
2012-07-27Experimental-ish rollback functionalityPerttu Ahola
2012-07-24Detached inventoriesPerttu Ahola
2012-07-22Add minetest.get_modnames() to Lua APIMatthew I
2012-07-19Allow defining player's inventory form in LuaPerttu Ahola
2012-06-17Optimize headersPerttu Ahola
2012-06-17Properly and efficiently use split utility headersPerttu Ahola
2012-06-05Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola
GPLv2/later, by agreement of major contributors
2012-06-03WIP node metadata, node timersKahrl
2012-04-01Allow getting the path of builtin.lua using minetest.get_modpath("__builtin")Perttu Ahola
2012-03-31Add 'fly' and 'fast' privileges and the underlying privileges-to-client systemPerttu Ahola