582 Commits

Author SHA1 Message Date
kwolekr
d48f851863 Add minetest.set_noiseparam_defaults() Lua API 2014-02-15 19:13:14 -05:00
sapier
e929bb6409 Fix possible missing unlock of env_lock 2014-02-12 19:47:27 +01:00
kwolekr
4bc975d80f ServerEnvironment: Remove direct dependency on EmergeManager 2014-02-09 16:36:30 -05:00
ShadowNinja
24cc512b16 Add the option to bind to a specific address 2014-02-05 21:24:46 +01:00
kwolekr
1c1155e0d5 Huge overhaul of the entire MapgenParams system
MapgenParams is no longer a polymorphic class, eliminating the need for messy and bug-prone reallocations.
Separation between the common and mapgen-specific parameters is now strongly defined.
Mapgen parameters objects are now properly encapsulated within the proper subsystems.
2014-02-03 22:50:14 -05:00
sapier
8ef35b03dc Add additional check to avoid broadcasting private messages in error conditions 2014-02-02 01:55:24 +01:00
Perttu Ahola
0ad66f64a5 Add player:override_day_night_ratio() for arbitrarily controlling sunlight brightness 2014-02-01 18:38:21 +01:00
Perttu Ahola
89f9a3e607 Add player:set_sky() with simple skybox support 2014-02-01 18:34:26 +01:00
sapier
d34715a8b7 Add propper client initialization
-add client states to avoid server sending data to uninitialized clients
  -don't show uninitialized clients to other players
  -propper client disconnect handling
Minor comment fixes in server
Minor bugfixes in connection
  -improved peer id calculation
  -honor NDEBUG flag
  -improved disconnect handling
  -increased initial send window
Remove some dead code
2014-01-31 18:44:43 +01:00
RealBadAngel
6d28b11897 New HUD element - waypoint. 2014-01-26 21:31:59 +01:00
kwolekr
8dfa2dbf57 Fix use of previously deallocated EmergeManager 2014-01-26 01:12:18 -05:00
ShadowNinja
ca5b6594b9 Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacks 2014-01-23 19:21:56 -05:00
khonkhortisan
5874af4d8f Allow vertical axis particle rotation constraint
Use tables for adding particles, deprecate former way.

separate particles(pawner) definition, add default values, work with no
arguments
2014-01-13 17:34:56 -05:00
sapier
c85fd65967 Fixed minetest reliable udp implementation (compatible to old clients) 2014-01-10 10:10:45 +01:00
ShadowNinja
d39323353e Revert "Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings"
The commit didn't work because the blocks weren't loaded yet.

This reverts commit 22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b.

Conflicts:
	minetest.conf.example
2014-01-06 21:25:10 -05:00
proller
3116d1d531 Send long announce as POST, show OS in useragent
Add lag reporting to masterserver (average dtime)
StyledWriter  -> FastWriter in masterserver announce
2014-01-07 02:50:45 +04:00
ShadowNinja
37f62fadeb Initialize world before creating BanManager and RollbackManager 2013-12-30 14:29:33 -05:00
sapier
6474caa15f Replace SimpleThread by JThread now implementing same features 2013-12-15 13:39:42 +01:00
kwolekr
55e96c5375 Update mapgen params in ServerMap after Mapgen init 2013-12-14 10:49:20 -05:00
Kahrl
b34a01f4c8 Rewrite client media download and support hash-based remote download
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-12-13 18:05:20 +01:00
kaeza
ba7af927a7 Add 'on_prejoinplayer' callback 2013-12-12 13:42:14 -05:00
sweetbomber
a85c68049a Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings 2013-12-05 16:09:02 -05:00
sapier
396602432c Cleanup jthread and fix win32 build 2013-12-01 16:25:46 +01:00
Novatux
92d806ab21 Add minetest.swap_node 2013-11-30 18:37:56 +01:00
Novatux
0f0a497d0f Add a callback: minetest.register_on_craft(itemstack, player,
old_craft_grid, craft_inv) and
minetest.register_craft_predict(itemstack, player, old_craft_grid,
craft_inv)
2013-11-01 15:55:34 +01:00
proller
670ac4ac88 Masterserver update 2013-10-18 01:32:49 +04:00
Kahrl
99ae783310 Show git hash in version string at top left corner of window 2013-09-28 21:30:17 +02:00
kwolekr
4a3d0d8569 Fix some warnings and other minor details 2013-09-16 23:52:42 -04:00
kwolekr
d017bf220a Always use builtin JThread library 2013-09-15 23:00:01 -04:00
PilzAdam
49f6e00cf3 Use player:set_hotbar_image() instead of hardcoded hotbar.png 2013-09-05 00:21:16 +02:00
Ilya
bf1c9d75a6 Server::ProcessData(): call getBanName once instead of twice (#639) 2013-09-03 07:34:43 +02:00
PilzAdam
0876f5498d Send player damage to all clients and apply [brighten 2013-08-17 01:23:25 +02:00
Kahrl
ee90d438b8 Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
Perttu Ahola
4e5a3c9585 Don't freak out when a client sends multiple TOSERVER_INIT packets; also log one thing more. 2013-08-08 06:11:43 +03:00
Perttu Ahola
d716c535c5 Clean up server's log messages and give a better error to client when its player is in use 2013-08-06 18:13:11 +03:00
Novatux
9e65a396d1 Add texture pack selection to main menu 2013-08-04 16:52:30 +02:00
Perttu Ahola
cc1a1cd688 Fix server getting completely choked up on even a little of DoS
* 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-04 10:44:37 +03:00
Perttu Ahola
eadddb8a83 Allow mods to listen to cheat detections using minetest.register_on_cheat() 2013-08-04 00:45:49 +03:00
Perttu Ahola
a524c0fd11 Fix anticheat 2013-08-03 23:16:37 +03:00
proller
f821824943 Weather backward compatibility 2013-08-02 00:51:36 +04:00
proller
222eb80096 Dont announce server in singleplayer 2013-07-27 17:51:34 +04:00
proller
1741e28a70 Cosmetic player info changes 2013-07-24 02:41:03 +04:00
RealBadAngel
b737eaa357 Add set_breath and get_breath to lua API. 2013-07-20 20:34:11 +02:00
proller
cb3e7ca3b7 Masterserver mods announse, ipv6, better curl errors 2013-07-13 00:19:05 +04:00
PilzAdam
8ddb332d3a Disallow the name 'singleplayer' in a multiplayer server 2013-07-12 02:15:09 +02:00
kwolekr
5c8a16016c Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API 2013-06-27 22:35:35 -04:00
proller
a0d79ac7a5 Math mapgen fix, ip show on connect, pathfinder segfault fix 2013-06-23 20:35:16 +04:00
proller
06ddcb4b1e Add support for IPv6
Two new configuration options are added:
     - "enable_ipv6" to enable/disable the overall use of IPv6
     - "ipv6_server" to enable/disable the use of IPv6 sockets when running
       a server (when "enable_ipv6" is enabled)
2013-06-23 11:31:22 +04:00
Kahrl
aa4efe46cf Tweak IDropAction restriction handling in server.cpp 2013-06-16 17:01:21 +02:00
Kahrl
780a234d48 Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM 2013-05-26 00:23:33 +02:00