Commit Graph

879 Commits

Author SHA1 Message Date
ShadowNinja
85fe75d1cb Add the option to bind to a specific address 2014-02-05 21:24:46 +01:00
kwolekr
5a34f40d80 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
e7c2e61b19 Add additional check to avoid broadcasting private messages in error conditions 2014-02-02 01:55:24 +01:00
Perttu Ahola
6a3fa9df12 Add player:override_day_night_ratio() for arbitrarily controlling sunlight brightness 2014-02-01 18:38:21 +01:00
Perttu Ahola
86a6cca3cf Add player:set_sky() with simple skybox support 2014-02-01 18:34:26 +01:00
sapier
e258675eab 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
21f1bec724 New HUD element - waypoint. 2014-01-26 21:31:59 +01:00
kwolekr
9b978db0c2 Fix use of previously deallocated EmergeManager 2014-01-26 01:12:18 -05:00
ShadowNinja
76d4396fa1 Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacks 2014-01-23 19:21:56 -05:00
khonkhortisan
2b1eff7725 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
9edb91da57 Fixed minetest reliable udp implementation (compatible to old clients) 2014-01-10 10:10:45 +01:00
ShadowNinja
0fd5c61c00 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
c62bab010f 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
2902a29c2d Initialize world before creating BanManager and RollbackManager 2013-12-30 14:29:33 -05:00
sapier
e9e9fd7c3f Replace SimpleThread by JThread now implementing same features 2013-12-15 13:39:42 +01:00
kwolekr
7a4c1e7327 Update mapgen params in ServerMap after Mapgen init 2013-12-14 10:49:20 -05:00
Kahrl
0404bbf671 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
33de69a173 Add 'on_prejoinplayer' callback 2013-12-12 13:42:14 -05:00
sweetbomber
22dbbf0a6f Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings 2013-12-05 16:09:02 -05:00
sapier
04e9a9d541 Cleanup jthread and fix win32 build 2013-12-01 16:25:46 +01:00
Novatux
d879a539cd Add minetest.swap_node 2013-11-30 18:37:56 +01:00
Novatux
bd6d4666ab 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
a924409bd1 Masterserver update 2013-10-18 01:32:49 +04:00
Kahrl
8bc7ea61b9 Show git hash in version string at top left corner of window 2013-09-28 21:30:17 +02:00
kwolekr
c0398224ef Fix some warnings and other minor details 2013-09-16 23:52:42 -04:00
kwolekr
d308352dbd Always use builtin JThread library 2013-09-15 23:00:01 -04:00
PilzAdam
7860097eda Use player:set_hotbar_image() instead of hardcoded hotbar.png 2013-09-05 00:21:16 +02:00
Ilya
e61b1773c9 Server::ProcessData(): call getBanName once instead of twice (#639) 2013-09-03 07:34:43 +02:00
PilzAdam
787b43b218 Send player damage to all clients and apply [brighten 2013-08-17 01:23:25 +02:00
Kahrl
4e1f50035e Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
Perttu Ahola
35c5ccfad3 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
61f240946a 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
383153419b Add texture pack selection to main menu 2013-08-04 16:52:30 +02:00
Perttu Ahola
e6687be493 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
8831669505 Allow mods to listen to cheat detections using minetest.register_on_cheat() 2013-08-04 00:45:49 +03:00
Perttu Ahola
742614180c Fix anticheat 2013-08-03 23:16:37 +03:00
proller
06cdce1e12 Weather backward compatibility 2013-08-02 00:51:36 +04:00
proller
e65d8ad655 Dont announce server in singleplayer 2013-07-27 17:51:34 +04:00
proller
3629a90c2e Cosmetic player info changes 2013-07-24 02:41:03 +04:00
RealBadAngel
d19c8b815d Add set_breath and get_breath to lua API. 2013-07-20 20:34:11 +02:00
proller
ac7a44792c Masterserver mods announse, ipv6, better curl errors 2013-07-13 00:19:05 +04:00
PilzAdam
320a00e7c6 Disallow the name 'singleplayer' in a multiplayer server 2013-07-12 02:15:09 +02:00
kwolekr
2e292b67a0 Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API 2013-06-27 22:35:35 -04:00
proller
f764297be2 Math mapgen fix, ip show on connect, pathfinder segfault fix 2013-06-23 20:35:16 +04:00
proller
f960c3be31 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
b5918760fb Tweak IDropAction restriction handling in server.cpp 2013-06-16 17:01:21 +02:00
Kahrl
96fe1de832 Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM 2013-05-26 00:23:33 +02:00
sapier
ab43377577 Move scriptapi to separate folder (by 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-05-25 00:51:02 +02:00
PilzAdam
dcd0b63f64 Dont load mods that have no entry in world.mt 2013-05-19 19:46:50 +02:00
Aaron Suen
6911a7d279 Clear custom player HUDs when emerging players. Fixes #711. 2013-05-10 19:25:50 -04:00
Kahrl
969d2b3eb1 Optional dependencies and properly handle mod name conflicts again 2013-05-03 23:58:22 +02:00
Kahrl
be4cc306a5 Server: force block send of pointed_pos_under after predicted node place 2013-05-03 17:03:25 +02:00
kwolekr
d3f0ce6224 Generalize hud_builtin_enable into hud_set_flags 2013-04-25 19:37:36 -04:00
Diego Martínez
e703c5b81f Added support to disable built-in HUD elements 2013-04-24 17:28:00 +03:00
ShadowNinja
3d4d0cb574 Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player() 2013-04-23 09:47:08 +03:00
Diego Martínez
9894167bbf Added offset support for HUD items 2013-04-23 09:34:11 +03:00
Diego Martínez
7c37b1891a Added support for alignment in HUD items 2013-04-23 09:34:10 +03:00
kwolekr
daddd37706 Fix findSpawnPos() 2013-04-21 15:39:34 -04:00
kwolekr
666aae3593 Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modification 2013-04-18 02:19:31 -04:00
Jonathon Anderson
49f6e347f0 Lua HUD 2013-04-18 02:14:33 -04:00
sapier
04c3b17c78 fix various memory leaks 2013-04-09 02:23:07 -04:00
kwolekr
8ec3fc35c6 Add Mapgen V7, reorganize biomes 2013-04-07 00:50:21 -04:00
proller
16c11eb4a3 Masterserver: report gameid, uptime, cosmetic fixes on server web page 2013-03-30 02:03:24 +04:00
PilzAdam
7d9329ecfe New damage system, add damageGroups to ToolCapabilities, bump protocol version 2013-03-29 20:14:09 +01:00
kwolekr
57cbb8bfd8 Add Ore infrastructure and l_register_ore() 2013-03-24 13:23:33 -04:00
Jeija
e1ff5b1361 Allow spawning particles from the server, from lua
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-23 23:16:29 +01:00
Perttu Ahola
c2250d95c4 Support game-specific minetest.conf 2013-03-21 22:22:15 +02:00
Perttu Ahola
306d1ab866 Common mods support
Implement "common mods", includeable from
  {$user,$share}/games/common/$modname
by using the game.conf setting
  common_mods = $modname,$modname2,...
2013-03-21 18:56:42 +02:00
Ilya Zhuravlev
6a1670dbc3 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
kwolekr
d31f07bd4b Fix most warnings, re-fix MSVC compile error 2013-02-26 01:57:59 -05:00
kwolekr
979ca23f1e Merge pull request #482 from proller/liquid
finite liquid
2013-02-25 20:52:24 -08:00
kwolekr
5ec5b1cbd6 Add multi-Emerge thread support 2013-02-25 23:08:26 -05:00
kwolekr
b9d8e59bbf Add emerge.cpp, initial EmergeThread changes
- 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-25 22:56:18 -05:00
Sfan5
6d0ea26c2d Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam
497ff1ecd6 Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
proller
b90e431fc7 new adjustable finite liquid 2013-02-24 18:39:07 +04:00
proller
ee07c3f7cf new auto masterserver 2013-02-22 02:04:53 +04:00
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
Perttu Ahola
030b63c3d2 Add and tidy up some Server log output for declined connections 2012-03-10 17:10:16 +02:00
Perttu Ahola
1020707918 Fix addon and configuration file paths 2012-03-10 17:10:16 +02:00
Perttu Ahola
c89d1cf072 Initial directory structure rework 2012-03-10 17:10:10 +02:00
Perttu Ahola
e9cdb938fe Entity damage system WIP; Remove C++ mobs 2012-03-10 11:28:13 +02:00
Perttu Ahola
562ac3bce9 Digging time groups WIP 2012-03-10 11:28:12 +02:00
Perttu Ahola
11716825fc Move profiler measurements into inside of mutex locking for more useful results 2012-03-07 21:54:18 +02:00
Perttu Ahola
0309021359 Add dedicated_server_step setting 2012-03-07 21:44:53 +02:00
Kahrl
88cdd3a363 Players stay in environment even when dead, damage flash and fall damage fixes
Don't set m_removed on dead players (dead players are indicated by hp == 0). Local
damage flash is shown whatever the cause was (even from Lua set_hp). PlayerCAO
damage flash matches duration of local damage flash. Fall damage is dealt much more consistently (this is done by disallowing jumping when speed.Y is very negative, up to now jumping could sometimes negate fall damage)
2012-02-05 12:06:55 +02:00
Kahrl
b4dd5d3bd7 Client-side prediction of inventory changes, and some inventory menu fixes 2012-01-22 17:31:20 +02:00
Kahrl
1efdc36b22 Inventory menu (with dragging) improved. Crafting is now handled via a IACTION_CRAFT inventory action. 2012-01-22 17:31:12 +02:00
Kahrl
157a4cf18c Node placement / mineral / serialization / iron freq / node_dig callback
- Node placement code moved to Lua
- Mineral system removed (added default:stone_with_coal and default:stone_with_iron).
- MapBlock and MapNode serialization updated.
- Mapgen: Frequency of iron increased.
- node_dig callback and related changes.
2012-01-22 17:24:50 +02:00
Kahrl
6a76c226e1 The huge item definition and item namespace unification patch (itemdef), see http://c55.me/minetest/wiki/doku.php?id=changes:itemdef 2012-01-12 06:10:39 +01:00
Perttu Ahola
4f2c1e36a1 Implement minetest.register_on_dieplayer() 2012-01-06 00:12:33 +02:00
Perttu Ahola
bc743ca7ce Add missing checks to texture caching 2012-01-04 00:37:46 +02:00
Perttu Ahola
3e6f824e6c Use free rather than delete for malloc'd memory 2012-01-02 21:42:33 +02:00
Perttu Ahola
cd0019acd2 Fix server sending stuff before textures have been sent 2012-01-02 17:44:00 +02:00
Perttu Ahola
0e1f448b61 Texture cache on client (mostly made by sapier) (breaks network compatibility) 2012-01-02 13:31:50 +02:00
Perttu Ahola
103173fc9b Add InvRef and InvStack (currently untested and unusable) 2012-01-02 01:49:38 +02:00
Perttu Ahola
81d3485109 Fix segfault when generating stuff on world boundaries 2012-01-01 21:01:55 +02:00
Perttu Ahola
bd21f00f0a Add minetest.get_modpath(modname) 2011-12-11 16:49:40 +02:00
Perttu Ahola
4cc117ddf6 Properly use time_from_last_punch for limiting PvP punch damage 2011-12-04 14:43:01 +02:00
Perttu Ahola
bc5cc638fc Fix player not dying when beated to death by other player 2011-12-04 03:56:22 +02:00
Perttu Ahola
bff8be8b76 Fix getting two old-style minerals per digged node 2011-12-04 03:47:55 +02:00
Kahrl
275a348b75 Do not broadcast an empty chat message when someone tries to log in with the wrong password 2011-12-03 11:47:19 +02:00
Perttu Ahola
c6dd75ccfb Add usermods/ to mod search paths and print out the paths at server startup 2011-12-03 03:43:20 +02:00
Perttu Ahola
6b2023dc3e Properly handle mod name conflicts 2011-12-03 03:32:30 +02:00
Perttu Ahola
2f4a92d701 Better mod loading error handling 2011-12-03 03:23:14 +02:00
Perttu Ahola
324c544922 Add world/mods to mod search path 2011-12-03 02:55:54 +02:00
Perttu Ahola
d96cd236f3 Enforced mod global naming convention and better error reporting 2011-12-03 02:45:55 +02:00
Perttu Ahola
581f950e10 Fix script error reporting a bit 2011-12-02 22:49:54 +02:00
Perttu Ahola
9344816bd6 Fix ActiveObject creation for fast player respawns 2011-12-02 17:30:22 +02:00
Perttu Ahola
67c21fc42f Fix sending of player hp (was sent all the time) 2011-12-02 17:19:42 +02:00
Perttu Ahola
b9e8e20c9c Script-defined creative inventory 2011-12-02 12:43:57 +02:00
Perttu Ahola
932988af46 Rename "build" privilege to "interact" (backwards-compatibly, of course) 2011-12-02 12:18:19 +02:00
Perttu Ahola
2dc9a0c724 Fix player double damage 2011-12-02 11:16:51 +02:00
Perttu Ahola
09010410cf Print out PROTOCOL_VERSIONs if server is incompatible with client 2011-12-02 01:24:54 +02:00
Perttu Ahola
9d67037570 Don't send objects or map data before definitions have been sent 2011-12-02 01:18:25 +02:00
Perttu Ahola
08a10b8a6a Remove stuff made obsolete by making players more ActiveObject-like and raise protocol version number by one (because it is not compatible at all anymore) 2011-12-01 23:55:57 +02:00
Perttu Ahola
af32240545 Players are more like objects + related stuff 2011-12-01 23:33:48 +02:00
Perttu Ahola
ee0d3bacbc Player-is-SAO WIP 2011-12-01 18:23:58 +02:00
Kahrl
2ca00fa585 Fix processing of the default_password setting. It is now actually used as the plaintext password for new users. Also add /setpassword and /clearpassword server commands that can be used by admins with the PRIV_PASSWORD privilege, and update the /help message. 2011-12-01 12:06:39 +02:00
Perttu Ahola
347216d654 Reworked the inventory move handling code, hopefully fixed more problems than caused 2011-11-30 19:49:34 +02:00
Perttu Ahola
e109ed5cef Proper player inventory and hp modification tracking and sending accordingly 2011-11-29 23:18:20 +02:00
Perttu Ahola
4bcff65ad0 Better version match fail messages from server 2011-11-29 22:23:03 +02:00
Perttu Ahola
2a610b011a Handle items with m_count==0 sanely when placing 2011-11-29 21:05:53 +02:00
Kahrl
d6b30dd3a5 CraftItem rework and Lua interface 2011-11-29 19:13:58 +02:00
Perttu Ahola
705f142b8d GenericNodeMetadata and an example furnace 2011-11-29 19:13:57 +02:00
Perttu Ahola
0f2b932e92 Initial NodeMetaRef stuff 2011-11-29 19:13:56 +02:00
Perttu Ahola
842eb5da28 Replace old active block random node modifying things with actual ActiveBlockModifiers 2011-11-29 19:13:56 +02:00
Perttu Ahola
05df2ee8a4 Add chat message callback and send functions 2011-11-29 19:13:56 +02:00
Perttu Ahola
c449e5f20a Use log_deregister_thread in EmergeThread 2011-11-29 19:13:56 +02:00
Perttu Ahola
2e42391b86 Fix mod dependency sort 2011-11-29 19:13:55 +02:00
Perttu Ahola
fd8b9a3a44 Warn about unsatisfied dependencies 2011-11-29 19:13:55 +02:00
Perttu Ahola
5c1cb01936 Make blocks to be loaded from disk when the active block area reaches them 2011-11-29 19:13:55 +02:00
Perttu Ahola
a8a82e0b21 Sort mods by dependencies defined by modpath/depends.txt in each mod (not mandatory) 2011-11-29 19:13:55 +02:00
Perttu Ahola
218b626016 Fix and tune player movement checks (make them very loose) 2011-11-29 19:13:55 +02:00
Kahrl
f42c57d9a8 Add IDropAction and related stuff 2011-11-29 19:13:54 +02:00
Perttu Ahola
b2ccbdffc1 Make map generator as much threaded as possible (not much benefit with current generator because of small generator chunk size (a single MapBlock)) 2011-11-29 19:13:54 +02:00
Perttu Ahola
769cc9879f Add on_generated hook 2011-11-29 19:13:54 +02:00
Perttu Ahola
0dbb31afeb Improve player movement speed checking 2011-11-29 19:13:54 +02:00
Perttu Ahola
1bfc3c1eb9 Player movement speed and node access distance checking 2011-11-29 19:13:54 +02:00
Perttu Ahola
945d01fd9e on_newplayer and on_respawnplayer callbacks 2011-11-29 19:13:53 +02:00
Perttu Ahola
77337271fc Remove give_initial_stuff 2011-11-29 19:13:52 +02:00
Kahrl
c1479a2732 Add node definitions in Lua and do not use content_mapnode_init anymore (except in test.cpp) 2011-11-29 19:13:52 +02:00
Perttu Ahola
61ffe1eac4 builtin.lua 2011-11-29 19:13:52 +02:00
Perttu Ahola
9e7ad1e2aa Add object reference to Lua on_place/dig/punchnode parameters 2011-11-29 19:13:52 +02:00
Perttu Ahola
ae9f183cda Fix "warning: comparison between signed and unsigned integer expressions" 2011-11-29 19:13:52 +02:00
Perttu Ahola
fdf6eecd59 Make map generator more responsive 2011-11-29 19:13:51 +02:00
Perttu Ahola
6a8f9135de Store metadata as metadata name in node definition 2011-11-29 19:13:51 +02:00
Perttu Ahola
704d8a62bf Set block modified flag when node metadata inventory is modified 2011-11-29 19:13:50 +02:00
Perttu Ahola
941176cd65 Default to saving stuff more often to minimize lag caused by a single save 2011-11-29 19:13:50 +02:00
Perttu Ahola
1b765b9740 Add reason parameter to setModified and print it out to verbosestream when saving block 2011-11-29 19:13:49 +02:00
Perttu Ahola
0ce0c8fcfb Improve LuaEntity velocity/acceleration handling (by kahrl); implement staticdata interface to Lua 2011-11-29 19:13:49 +02:00
Perttu Ahola
cc03718d3c Node place/dig Lua callbacks 2011-11-29 19:13:49 +02:00
Perttu Ahola
9d5b458479 Crafting definition in scripts 2011-11-29 19:13:48 +02:00
Perttu Ahola
df8346ef4d Do not expose CONTENT_* stuff in content_mapnode.h and use a name converter wrapper in old code 2011-11-29 19:13:47 +02:00
Perttu Ahola
c0f6395cf0 Node definition names 2011-11-29 19:13:46 +02:00
Perttu Ahola
26abf6fd82 Cut down content transfer verbosity 2011-11-29 19:13:45 +02:00
Perttu Ahola
7696a38543 Improve loading screen and protocol 2011-11-29 19:13:45 +02:00
Perttu Ahola
6da8cb00e2 Node definitions transfer 2011-11-29 19:13:44 +02:00
Perttu Ahola
eed727c61b Completely generalized mesh generation; ContentFeatures serialization 2011-11-29 19:13:44 +02:00
Perttu Ahola
cf6e22e9a6 Better node texture generation 2011-11-29 19:13:43 +02:00
Perttu Ahola
45fc45a49e Sending of textures WIP 2011-11-29 19:13:43 +02:00
Perttu Ahola
e71744b918 Modify mod and texture directory hierarchies 2011-11-29 19:13:43 +02:00
Perttu Ahola
9e1c4533b8 Move tool definitions to script 2011-11-29 19:13:43 +02:00
Perttu Ahola
4b8e4dae58 Tool definition transfer to client 2011-11-29 19:13:42 +02:00
Perttu Ahola
c6fd2986d4 GameDef compiles 2011-11-29 19:13:42 +02:00
Perttu Ahola
abceeee92f Create framework for getting rid of global definitions of node/tool/item/whatever types 2011-11-29 19:13:41 +02:00
Perttu Ahola
64996422c0 Move ContentFeatures to mapnode_contentfeatures.{h,cpp} and clean stuff 2011-11-29 19:13:40 +02:00
Perttu Ahola
1320d07068 Scripting WIP: dynamic object stuff 2011-11-29 19:13:40 +02:00
Perttu Ahola
0b97ad8384 ServerRemotePlayer implements ServerActiveObject 2011-11-29 19:13:40 +02:00
Perttu Ahola
75a0ca6bd6 Scripting WIP 2011-11-29 19:13:40 +02:00
Perttu Ahola
f145d498a6 Scripting WIP 2011-11-29 19:13:39 +02:00
Perttu Ahola
a6a1e6ed1a random scripting work-in-progress 2011-11-29 19:13:39 +02:00
Perttu Ahola
bfc68d3151 Scripting WIP 2011-11-29 19:13:38 +02:00
Perttu Ahola
ee8b6d3444 Move images to data/textures and fix some path stuff; hope that installation still works 2011-11-29 19:11:04 +02:00
Perttu Ahola
7372282a72 Better spawn position finding and checking 2011-11-13 03:17:42 +02:00
Kahrl
1c98ec94da Make Connection::Receive return the data via a SharedBuffer reference, so the caller doesn't have to choose the right buffer size in advance.
Conflicts:

	src/test.cpp
2011-11-07 11:21:42 +02:00
Perttu Ahola
4b6138e69b Improve Connection with threading and some kind of congestion control 2011-10-20 23:04:09 +03:00
Perttu Ahola
3a06fb8831 Fix and tune block sending 2011-10-19 02:17:23 +03:00
Perttu Ahola
78f4142f4f Add /clearobjects 2011-10-18 00:01:50 +03:00
Perttu Ahola
2419d0029a Some more profiler stuff to get the hang on what really uses CPU 2011-10-16 22:39:35 +03:00
Perttu Ahola
b8f2dcea4d Improve debug profiler usage for investigating CPU usage of server 2011-10-16 21:16:44 +03:00
Perttu Ahola
07d000cc54 When granting or revoking privileges, notify the target player too 2011-10-16 20:03:43 +03:00
Perttu Ahola
143dce6672 When player times out, log the action as a timeout rather than regular quitting 2011-10-16 19:38:56 +03:00
Perttu Ahola
96b2d1fd29 Check NULL pointer properly in some new code trying to log new stuff 2011-10-16 18:50:30 +03:00
Perttu Ahola
0bf533f753 Switch more stuff to use the logging thing and fix segfault on player leave from server as introduced in a previous switch-to-logging commit 2011-10-16 16:28:12 +03:00
Perttu Ahola
b65a5aceb0 Use the logger; also, default to not showing much crap in console. Use --info-on-stderr to enable crap. 2011-10-16 14:57:53 +03:00
Perttu Ahola
94dfececf6 strict_protocol_version_checking setting; PROTOCOL_VERSION in clientserver.h; clean up defaultsettings.cpp and minetest.conf.example 2011-10-15 15:02:28 +03:00
Perttu Ahola
74febd5c31 Handle death and respawn better 2011-10-15 14:46:59 +03:00
Perttu Ahola
5341bf59c2 Improve mobv2 2011-10-15 12:17:21 +03:00
Perttu Ahola
43a28f04fa mobv2 2011-10-15 02:28:57 +03:00
Perttu Ahola
080002f8ed Lock mutex when accessing m_env in Server::~Server 2011-10-14 12:39:25 +03:00
Perttu Ahola
9e46cbf7ea Header file tweaking; mainly for speed 2011-10-12 13:53:38 +03:00
Perttu Ahola
b60b58b627 Saner block modification flag operation for not saving everything always 2011-10-12 10:53:37 +03:00
Perttu Ahola
a7833cca22 Merge remote-tracking branch 'marktraceur/master' 2011-09-26 22:41:06 +03:00
Perttu Ahola
061d4b4202 Merge branch 'view_bobbing_and_vielded_tool' 2011-09-26 15:10:02 +03:00
Perttu Ahola
b9e680d06c Server user limit configuration option 2011-09-26 11:57:51 +03:00
Perttu Ahola
0ccc0ac927 Merge remote-tracking branch 'darkrose/master' 2011-09-26 11:57:28 +03:00
Joshua Beck
ae561d705f Fixed null pointer dereference errors found by cppcheck 2011-09-24 02:11:43 -05:00
Mark Holmquist
85f119e1e6 Adding (most) of the sapling functionality. It has yet to work, since MEET_OTHER was not implemented at the time of this commit. Hopefully it will work when merged with celeron's latest. 2011-09-23 18:13:53 -07:00
Perttu Ahola
bdf54908aa Make client report a newer version number to the server than 2011-07-31 does and make the server enforce it 2011-09-22 20:47:47 +03:00
darkrose
582e450bad added locking chests - clean patch 2011-09-22 19:11:48 +10:00
Kahrl
acfb2bb8bc Revert some changes that could lead to slower map transfer and increaed network load. 2011-09-16 18:03:58 +02:00
Kahrl
e4cb004460 trying something else... also replaced M_PI by PI everywhere 2011-09-08 16:10:44 +02:00
Kahrl
baf7da9d4a Collected and moved existing camera infrastructure from game.cpp to camera.cpp and camera.h. Introduced configuration settings 'fov' which chooses the camera's (vertical) field of view and 'view_bobbing' which currently does nothing. Other code refactored to not expect the FOV to be a build time constant. 2011-09-08 01:08:47 +02:00
Perttu Ahola
87b9e5467d Merge remote-tracking branch 'queatz/furnace-is-not-out-nor-can-rat-escape' 2011-08-30 14:24:07 +03:00
JacobF
134e49cc8e Merged 2 branches because they relied on each other.
This one contains these changes from main c55:
* Adds a function to check if there is room for a specific item
* Using that, you can now pick up rats if you have a full inventory and a not full rat stack
* Furnace would cook only 1 item if that item used the last available result slot, now it will continue
* Furnace will say it's overloaded
* Furnace won't wait until the next step to start on the next item
 - This caused small fuels to cook slower than meant to
 - Also caused furnaces to say they were out of fuel after finishing the last fuel item
2011-08-25 19:27:50 -04:00
JacobF
2e82268a67 If a user doesn't have build rights, don't allow them to move items to and from their inventory 2011-08-23 22:08:09 -04:00
Perttu Ahola
d4df20a913 if creative mode and player has no build privileges, cannot drop items. 2011-08-22 22:55:17 +03:00
Perttu Ahola
4acad897cf Fixed some protocol comment errors in clientserver.h and elsewhere
-- TOCLIENT_OBJECTDATA: peer ID field is missing
-- TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD: added: init length should be u32, not u16
2011-08-22 22:04:46 +03:00
Perttu Ahola
a99450ab72 Possibly fixed the extremely rare PeerNotFound loop bug.
See explanation in http://2pktfkt.de/irc/minetest-delta/2011-08-22.html
2011-08-22 21:27:11 +03:00
Giuseppe Bilotta
da19aee307 Server now supports replies without prefix 2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
d2c0b4905a Defines for server command context flags 2011-08-22 13:02:08 +02:00
Giuseppe Bilotta
153f07fdfb Remove distinction between /# and / commands
No need to make the server command syntax more complicated than
necessary. If the need ever arise, we'll find some other way to
distinguish the client commands. Also, the /# syntax is deprecated and
will be made obsolete in time.
2011-08-22 13:02:08 +02:00
Perttu Ahola
29c9d3d5f4 Implemented MEET_OTHER 2011-08-16 12:23:19 +03:00
Perttu Ahola
e40da2341c Fixed/extended/modified ban stuff to be good for inclusion 2011-08-12 13:11:27 +03:00
Constantin Wenger
5784c14ab7 added ipban support
commands:
/#ipban <nick>
/#ipunban <ip>
2011-08-12 03:37:18 +02:00
Giuseppe Bilotta
371af9c241 Notify other players of wielded item change 2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
ecd5c5f920 Clients inform server on wielded item
This is done with the new TOSERVER_PLAYERITEM message, that informs the
server on the index of the wielded item.
2011-08-11 15:22:36 +02:00
Giuseppe Bilotta
c007d8219e Server should use the same eye position as the client 2011-08-11 15:22:35 +02:00
Perttu Ahola
19ea901cf2 Fixes a bug that made the server to deny non-empty passwords from players connecting the first time. 2011-07-31 15:51:24 +03:00
Perttu Ahola
e0b8e66540 Fixed problem of server always receiving an empty password from the client 2011-07-31 15:32:45 +03:00
Perttu Ahola
756f8f88d4 Made stricter handling for old clients because now they are not compatible at all. 2011-07-31 02:27:26 +03:00
Perttu Ahola
8e1eacf3a8 Fixed handling of inventory in creative mode (normal inventory is not trashed anymore), fixed mese pick speed, added some forgotten stuff 2011-07-30 23:33:57 +03:00
Perttu Ahola
f2051c9822 fix to the former 2011-07-30 20:10:16 +03:00
Perttu Ahola
f8fca8ca5e easier notice on old version 2011-07-30 20:06:30 +03:00
Perttu Ahola
24a662705c Added network protocol version number in protocol 2011-07-30 20:02:17 +03:00
Perttu Ahola
cdadbdbd17 Server configuration is now written when "/#setting whatever = whatever" is issued. 2011-07-30 19:49:42 +03:00
Perttu Ahola
9b294ffa7a Added message of the day and made it properly configurable using /#setting (not saved to config file yet) 2011-07-30 19:31:33 +03:00
Perttu Ahola
4b0c3e4357 Made picking items up in creative mode delete them (because they usually are in the inventory already anyway) 2011-07-30 19:05:25 +03:00
Perttu Ahola
d62ae0e18b Rats are now eatable. Also made their selection box move smoothly. 2011-07-30 18:51:15 +03:00
Perttu Ahola
29d905f98a Added a mapblock analyzing function for debugging use and fixed remaining mapgen bugs 2011-07-24 12:09:33 +03:00
Perttu Ahola
90d793f8f3 extended content-type range 2011-07-23 16:55:26 +03:00
Perttu Ahola
71f5d4b344 Fixed objects being sometimes not able to be stored statically in a block when block has been unloaded 2011-07-01 21:04:40 +03:00
Perttu Ahola
dd22ea051a map unloading is now a whole lot better 2011-06-27 00:27:17 +03:00
Perttu Ahola
3fccc67eb7 fixed block unloading from memory (a better fix coming next) 2011-06-26 21:53:11 +03:00
Perttu Ahola
5e3deed672 Added CPT_FACEDIR_SIMPLE calculation, finally, as figured out by spongie 2011-06-26 19:23:44 +03:00
Perttu Ahola
91cfbe2891 reorganized a lot of stuff and modified mapgen and objects slightly while doing it 2011-06-26 15:48:56 +03:00
Perttu Ahola
c1ceabef71 added and commented out some debug output 2011-06-26 03:14:52 +03:00
Perttu Ahola
bb940a946d even more code refactoring 2011-06-26 02:34:36 +03:00
Perttu Ahola
f2c26e2014 moved map generator to separate source files 2011-06-25 18:12:41 +03:00
Perttu Ahola
aed9e809a1 mapgen stuff 2011-06-25 16:32:09 +03:00
Perttu Ahola
7538b4c620 New map generator added (and SQLite, messed up the commits at that time...) (import from temporary git repo) 2011-06-25 04:25:14 +03:00
Perttu Ahola
5ac900ddd9 Changed MapBlockObjects to be never written anymore. Incremented version number. 2011-06-18 15:16:35 +03:00
Perttu Ahola
da692355e8 Created and moved stuff to content_nodemeta.{h,cpp} 2011-06-18 00:46:50 +03:00
Perttu Ahola
dc5319b6c9 Moved some mapnode content stuff from mapnode.{h,cpp} and digging property stuff from material.cpp to content_mapnode.{h,cpp} 2011-06-17 22:20:15 +03:00
Perttu Ahola
c68f21214d made server to send map seed for testing 2011-06-05 21:06:54 +03:00
Perttu Ahola
bf22dba687 removed a debug print that would flood a lot in some kind of a timeout 2011-06-02 20:09:30 +03:00
Perttu Ahola
51cf464f74 Fixed the password crash on Windows 2011-06-02 00:01:11 +03:00
Perttu Ahola
bbead93c1a Reduced server CPU usage on NodeMetadata step()s. Also furnace now cooks while no players are near it. 2011-05-31 20:02:55 +03:00
celeron55
7740425085 Updated licenses of CiaranG's contributions to be in line with the new contribution policy and added a TODO note to server.cpp 2011-05-31 11:59:51 +03:00
Perttu Ahola
db36771c63 auth stuff is now saved only when modified 2011-05-31 00:23:39 +03:00
Perttu Ahola
41f07328c8 removed some debug prints
...and added support for simple time usage profiling in the last one.
2011-05-31 00:16:58 +03:00
Perttu Ahola
223b379348 Reduced the CPU usage of the sent block selector algorithm 2011-05-31 00:15:43 +03:00
Perttu Ahola
e81919c818 hopefully fixed the privilege problems
--HG--
extra : rebase_source : 9826d20176134a53ff232816a10407465d8c0f50
2011-05-29 22:34:04 +03:00
Perttu Ahola
63611932eb player passwords and privileges in world/auth.txt
--HG--
extra : rebase_source : 7260636295d9068fbeeddf4143c89f2b8a91446c
2011-05-29 21:11:16 +03:00
Perttu Ahola
12ca835e14 Merged CiaranG's fence and fixed two things 2011-05-24 20:13:21 +03:00
Ciaran Gultnieks
c5e583e059 Added fences (but still needs an icon or something to display in inventory) 2011-05-24 17:52:04 +01:00
Ciaran Gultnieks
8bbc512fe5 Added 'shout' player privilege 2011-05-23 20:40:25 +01:00
Ciaran Gultnieks
a9940c2ccf Allow default privileges for new players to be set in the server config 2011-05-22 23:56:57 +01:00
Ciaran Gultnieks
a8a3271470 Added the ability to change your password (via pause menu)
--HG--
extra : rebase_source : e8ec407f60711d42d33be4811b2880088f617b5b
2011-05-22 21:09:12 +01:00
Perttu Ahola
0af5311538 Preliminary "active block" stuff + set up test code to grow grass. 2011-05-22 17:00:09 +03:00
Ciaran Gultnieks
52d857cf15 Passwords - a few corrections to the previous commit 2011-05-20 21:37:13 +01:00
Ciaran Gultnieks
d4d49ee8f4 Passwords - password entry at main menu, stored and checked by server 2011-05-20 20:28:03 +01:00
Ciaran Gultnieks
8bba9cde5c Restored the auto-admin powers of the local user (via name= in the config)
--HG--
extra : rebase_source : a35aa0d978990c28fa4fc158ce47d1f4aa967c04
2011-05-16 18:26:37 +01:00
Perttu Ahola
bc59c18503 Fixed two compiler warnings 2011-05-16 19:54:08 +03:00
Ciaran Gultnieks
b3268ff389 Server commands without classes 2011-05-16 17:13:33 +01:00
Ciaran Gultnieks
7cdd988f88 Better synchronisation of build/mine attempts when the player isn't allowed to 2011-05-16 11:34:06 +01:00
Ciaran Gultnieks
248d7c8469 Improved server commands and added player permissions.
--HG--
extra : rebase_source : 178fe08f10b7de3ebaba088bd24faad795114216
2011-05-16 10:41:19 +01:00
Ciaran Gultnieks
2e1a69c3b1 Added glass, with rendering and furnace support. 2011-05-09 19:22:07 +01:00
Perttu Ahola
9c72d44fe7 random comment updates 2011-04-30 02:12:32 +03:00
Perttu Ahola
288822e73d Maybe fixed the flood of "WARNING: StaticObjectList::remove(): id=13 not found" style debug messages on the server when a player has quit. 2011-04-29 00:29:34 +03:00
Perttu Ahola
ffb1128951 tested out and commented out some new stuff for the terrain generator, to be used in the future. 2011-04-26 15:38:42 +03:00
Perttu Ahola
2830095366 Optimized map saving and sending (server-side) 2011-04-26 00:23:38 +03:00
Perttu Ahola
041b5e5479 Added /#time <int> command to server for changing the time of day 2011-04-25 11:55:07 +03:00
Perttu Ahola
2c4351b9b2 fix to the previous commit 2011-04-25 00:31:22 +03:00
Perttu Ahola
ab51298a0d server to print version in chat 2011-04-25 00:24:40 +03:00
Perttu Ahola
bbe47f845b Updated to-do list and added the give_initial_stuff setting for testing 2011-04-22 10:48:40 +03:00
Perttu Ahola
c638442e78 Some work-in-progress in hp and mobs and a frightening amount of random fixes. 2011-04-21 19:35:17 +03:00
Perttu Ahola
3c61d57f6d item drop multiplication fix 2011-04-19 17:09:45 +03:00
Perttu Ahola
08139f32f9 fixing 2011-04-12 01:59:09 +03:00
Perttu Ahola
249c0dc68a Fixed some problems with crafting and inventory 2011-04-11 21:28:04 +03:00
Perttu Ahola
9d4e9c59de fixed warnings reported by cppcheck 2011-04-11 11:36:13 +03:00
Perttu Ahola
3f153c20d3 Fixed error reported by cppcheck:
[./server.cpp:1327]: (error) Possible null pointer dereference: obj - otherwise it is redundant to check if obj is null at line 1332
2011-04-11 11:05:40 +03:00
Perttu Ahola
b0b5c43254 better support for old maps 2011-04-10 22:50:31 +03:00
Perttu Ahola
10eedbc1d2 Map generation is now properly threaded and doesn't block block placement and other stuff. 2011-04-10 20:18:34 +03:00
Perttu Ahola
6fa85c8502 a commit before starting to reorganize the map loading/generation logic 2011-04-10 19:12:56 +03:00
Perttu Ahola
5a4d8ffad3 implemented rats in new system to verify that it works 2011-04-10 15:16:27 +03:00
Perttu Ahola
08bbf96877 items now fall by gravity... also some other random updating 2011-04-10 12:34:12 +03:00
Perttu Ahola
fd7a0735c9 new object system 2011-04-10 04:15:10 +03:00
Perttu Ahola
4b54b291ae Some progress on transitioning from MapBlockObject to ActiveObject. 2011-04-08 00:47:14 +03:00
Perttu Ahola
2dba606e12 stone shovel now needs cobble, not stone. 2011-04-06 22:28:51 +03:00
Perttu Ahola
3269fce795 Server: Only send node removal/addition to client if client's player is near it. Otherwise set the modified blocks unsent. 2011-04-06 11:02:39 +03:00
Perttu Ahola
89aa8b9be1 Furnace is now usable. Added more tools.
--HG--
rename : data/tool_stpick.png => data/tool_stonepick.png
rename : data/tool_wpick.png => data/tool_woodpick.png
2011-04-05 18:23:30 +03:00
Perttu Ahola
d1d57cf5c3 initial workings of the furnace 2011-04-05 02:56:29 +03:00
Perttu Ahola
389fe31ace changed node metadata format to better accomodate future needs and problems 2011-04-05 00:24:47 +03:00
Perttu Ahola
042834b09d Fixed chest contents not immediately updating to all players 2011-04-04 18:29:44 +03:00
Perttu Ahola
4a92df6ff0 Chests work now! 2011-04-04 15:13:19 +03:00
Perttu Ahola
9e683fff50 initial chest metadata 2011-04-04 11:18:14 +03:00
Perttu Ahola
fa736e138c fully implemented the sign with the new framework 2011-04-04 05:12:33 +03:00
Perttu Ahola
01c2b003e1 commit before some more radical changes 2011-04-03 16:21:06 +03:00
Perttu Ahola
e4f7f97e6c Removed lua stuff 2011-04-03 12:28:55 +03:00
Perttu Ahola
ee89e29ae1 Revert mapgen to best working version (2) 2011-04-03 12:14:23 +03:00
Perttu Ahola
8581bf0091 tuned water texture and removed two debug prints from server 2011-04-02 21:10:53 +03:00
Perttu Ahola
bc66bb2d40 Mapgen is better now. Not a lot, but a bit! 2011-04-02 20:55:22 +03:00
Perttu Ahola
2e7b15fed3 mapgen work-in-progress 2011-03-02 02:00:11 +02:00
Perttu Ahola
9a22d02903 mapgen tweaking 2011-03-01 01:32:54 +02:00
Perttu Ahola
c137946a3f fixed server sending wrong position of node removal 2011-02-28 16:40:25 +02:00
Perttu Ahola
ad9e084e94 added trees (very glitchy) and changed grass texture 2011-02-28 02:48:31 +02:00
Perttu Ahola
c8be58a65c A third try on terrain generation. No trees yet. 2011-02-28 02:01:40 +02:00
Perttu Ahola
be32adc872 updated scripting api a bit
--HG--
rename : data/luaobjects/test/client.lua => data/scripts/objects/test/client.lua
rename : data/luaobjects/test/server.lua => data/scripts/objects/test/server.lua
2011-02-23 11:10:09 +02:00
Perttu Ahola
9778347c7f mainly work on object scripting api 2011-02-23 02:49:57 +02:00
Perttu Ahola
69dbc046eb preliminary lua scripting framework for objects 2011-02-21 16:10:36 +02:00
Perttu Ahola
c57637b4c3 Temporary commit; lots of test code and stuff 2011-02-21 00:45:14 +02:00
Perttu Ahola
4c2b9ed516 random code cleaning, shouldn't affect anything 2011-02-18 22:25:25 +02:00
Perttu Ahola
d065bae323 Ctrl+C handling on POSIX, some commands for server and other tweaking 2011-02-15 16:11:24 +02:00
Perttu Ahola
2684e620b5 server now won't crash when it is tries to generate blocks that are not inside MAP_GENERATION_LIMIT 2011-02-15 01:02:31 +02:00
Perttu Ahola
00810408a8 New way of determining the outcome of digging 2011-02-14 12:08:03 +02:00
Perttu Ahola
32a29489f3 players to not be saved when map saving is disabled (due to some error) 2011-02-14 11:10:44 +02:00
Perttu Ahola
1704badc30 work-in-progress texture atlas optimization 2011-02-10 02:13:03 +02:00
Perttu Ahola
dd9e82f5bc bug-fixin' 2011-02-08 01:12:55 +02:00
Perttu Ahola
25a7fabed8 mapgen tweaking 2011-02-06 16:35:27 +02:00
Perttu Ahola
ea6740e900 mapgen stuff 2011-02-05 14:55:16 +02:00
Perttu Ahola
9b1b57a523 some tweaking 2011-02-02 18:46:14 +02:00
Perttu Ahola
3d6e71a7d0 end-of-day. 2011-02-01 20:28:21 +02:00
Perttu Ahola
39faa654bf one line of cleaning server code 2011-02-01 17:08:28 +02:00
Perttu Ahola
e92238edc8 This map generator is starting to look pretty good now... also, disabled loading player position from disk because map is regenerated always. 2011-02-01 16:17:55 +02:00
Perttu Ahola
6e196c2ce4 partly working chunk-based map generator (doesn't save properly, spawn is pretty random) 2011-02-01 03:06:02 +02:00
Perttu Ahola
be851871cd map generation framework under development... not quite operational at this point. 2011-01-30 01:44:54 +02:00
Perttu Ahola
64b5975732 Now texture handling is fast. Also now players are saved on disk. 2011-01-28 01:38:16 +02:00
Perttu Ahola
9f882bf74d Reworked texture, material, mineral and whatever handling 2011-01-26 00:41:06 +02:00
Perttu Ahola
39fbf15273 Fixed a bug of server not reloading unloaded blocks when player builds or digs on them. 2011-01-25 09:29:59 +02:00
Perttu Ahola
3909e712a0 Faster lighting at map generation time 2011-01-24 16:36:58 +02:00
Perttu Ahola
4a952f22d7 small fixes here and there 2011-01-24 01:58:15 +02:00
Perttu Ahola
c914cbb0a0 OMG! Main Menu! 2011-01-23 17:29:15 +02:00
Perttu Ahola
515a480d0e now it works! 2011-01-18 00:45:07 +02:00
Perttu Ahola
a1b2cd550e tinkering 2011-01-18 00:38:23 +02:00
Perttu Ahola
1986326731 fixed erroneus handling of many players with no peer existing at same time 2011-01-18 00:26:09 +02:00
Perttu Ahola
d44abdab17 minecraft-style water done (but no texture animation or sound) 2011-01-17 21:15:31 +02:00
Perttu Ahola
0fa0e0752a old water removed, some fixes here and there 2011-01-17 14:57:37 +02:00
Perttu Ahola
3891bc43e0 fine-tuning of map generator and server and stuff. 2011-01-17 02:40:53 +02:00
Perttu Ahola
7068bc90af Initial commit of mapgen v.2. Lacks configuration and saving to disk. 2011-01-16 19:32:14 +02:00
Perttu Ahola
a176f9eb36 generate-time lighting optimization 2011-01-15 13:50:13 +02:00
Perttu Ahola
3fb0d2fb65 Players are left on server while server is running. No passwords yet. 2011-01-15 03:28:19 +02:00
Perttu Ahola
cfaa15895a tweaking around, including mapgen, player speed in water, settings 2011-01-15 01:26:29 +02:00
Perttu Ahola
6d4cd2ea1a A bit longer day and a bit shorter night. Client-side. 2010-12-29 15:26:47 +02:00
Perttu Ahola
fa64103aa8 better debug output in segfaults and stack overflows in windows 2010-12-27 14:34:17 +02:00
Perttu Ahola
07a759fdb8 better caves 2010-12-25 16:04:51 +02:00
Perttu Ahola
c37eb9b139 tinkering around 2010-12-25 11:27:14 +02:00
Perttu Ahola
c1e0d3e031 some tinkering around 2010-12-25 03:33:38 +02:00
Perttu Ahola
3fe377be4e builds on both platforms 2010-12-25 02:33:41 +02:00
Perttu Ahola
699d0e9a5e minecraft-like crafting 2010-12-25 01:54:39 +02:00