Skip to content
Snippets Groups Projects
  1. Oct 20, 2016
  2. Oct 16, 2016
  3. Oct 14, 2016
  4. Oct 08, 2016
  5. Oct 03, 2016
  6. Oct 01, 2016
  7. Sep 21, 2016
  8. Sep 17, 2016
    • paramat's avatar
      Register.lua: Throw error if node 'light_source' > core.LIGHT_MAX · 3aefa5d3
      paramat authored
      Add 'core.LIGHT_MAX = 14' to builtin/game/constants.lua with the intention
      to replace misplaced 'default.LIGHT_MAX = 14' in Minetest Game.
      Add comment in light.h requiring the constant be changed in both places.
      Add lighting bug warning to note in lua_api.txt.
      There are hundreds of mod uses of 15 which causes a lighting bug.
      3aefa5d3
  9. Sep 08, 2016
  10. Aug 29, 2016
  11. Aug 22, 2016
  12. Aug 10, 2016
  13. Jul 26, 2016
  14. Jul 12, 2016
    • Tim's avatar
      Builtin/profiler: Replace game profiler (#4245) · d7060c21
      Tim authored
      Use the setting "profiler.load" to enable profiling.
      Other settings can be found in settingtypes.txt.
      
      * /profiler print [filter] - report statistics to in-game console
      * /profiler dump [filter] - report statistics to STDOUT and debug.txt
      * /profiler save [format [filter]] - saves statistics to a file in your worldpath
      	* txt (default) - same treetable format as used by the dump and print commands
      	* csv - ready for spreadsheet import
      	* json - useful for adhoc D3 visualizations
      	* json_pretty - line wrapped and intended json for humans
      	* lua - serialized lua table of the profile-data, for adhoc scripts
      * /profiler reset - reset all gathered profile data.
      	This can be helpful to discard of any startup measurements that often spike during loading or to get more useful min-values.
      
      [filter] allows limiting the output of the data via substring/pattern matching against the modname.
      
      Note: Serialized data structures might be subject to change with changed or added measurements.
      	csv might be the most stable, due to flat structure.
      
      Changes to the previous version include:
      
      * Updated and extended API monitoring
      * Correct calculation of average (mean) values (undistorted by idleness)
      * Reduce instrumentation overhead.
      * Fix crashes related to missing parameters for the future and occasional DIV/0's.
      * Prevent issues caused by timetravel (overflow, timejump, NTP corrections)
      * Prevent modname clashes with internal names.
      * Measure each instrumentation individually and label based on registration order.
      * Labeling of ABM's and LBM's for easier classification.
        Giving several ABM's or LBM's the same label will treat them as one.
        Missing labels will be autogenerated based on name or registration order.
      * Configurable instrumentation and reporting. Skip e.g. builtin if you don't need it.
      * Profile the profiler to measure instrumentation overhead.
      d7060c21
  15. Jun 17, 2016
    • Auke Kok's avatar
      Builtin/game/item: Add `place_param2` nodedef field · 39a9e987
      Auke Kok authored
      This allows a nodedef to specify a fixed value for param2 to be
      used for all normal placements.
      
      There are several uses for this:
      
      - nodes that require param2 to be set to a non-zero value for
        internal mod use. E.g. leafdecay could use this to detect that
        leaves are played by players.
      - force wallmounted or facedir value at placement at placement
      
      This overrides any player look direction or other on-the-fly
      param2 setting during placement.
      39a9e987
  16. May 31, 2016
  17. May 30, 2016
  18. May 22, 2016
  19. May 17, 2016
  20. Apr 28, 2016
  21. Apr 21, 2016
    • Auke Kok's avatar
      Fix timer initialization. · a60aa8e2
      Auke Kok authored
      This fixes the problem that the first timer tick is an
      overrun and causes all timers to expire immediately.
      
      replaces #4003
      a60aa8e2
  22. Apr 20, 2016
    • Auke Kok's avatar
      falling: walk 4 additional diagonally down directions. · 855a3050
      Auke Kok authored
      This seems very little cost and matches the old behavior more
      closely. This will cause some more falling nodes to get added
      to falling clusters. With the efficiency of the algorithm, this
      really doesn't do much damage.
      855a3050
  23. Apr 11, 2016
    • Auke Kok's avatar
      Convert nodeupdate to non-recursive · d7908ee4
      Auke Kok authored
      This took me a while to figure out. We no longer visit all 9 block
      around and with the touched node, but instead visit adjacent plus
      self. We then walk -non- recursively through all neigbors and if
      they cause a nodeupdate, we just keep walking until it ends. On
      the way back we prune the tail.
      
      I've tested this with 8000+ sand nodes. Video result is here:
      
        https://youtu.be/liKKgLefhFQ
      
      Took ~ 10 seconds to process and return to normal.
      d7908ee4
  24. Mar 29, 2016
    • tenplus1's avatar
      stop falling.lua error · e72b8f25
      tenplus1 authored
      2016-03-27 15:47:01: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): Node name is not set or is not a string!
      2016-03-27 15:47:01: ERROR[Main]: stack traceback:
      2016-03-27 15:47:01: ERROR[Main]: 	[C]: in function 'add_node'
      2016-03-27 15:47:01: ERROR[Main]: 	/usr/share/minetest/builtin/game/falling.lua:96: in function </usr/share/minetest/builtin/game/falling.lua:43>
      e72b8f25
  25. Mar 25, 2016
  26. Mar 24, 2016
    • Auke Kok's avatar
      Make `options` local here. · 2f640888
      Auke Kok authored
      Undoubtably this may cause problems later if unchecked.
      
      ```
      2016-03-22 21:57:52: WARNING[Server]: Assignment to undeclared global "options" inside a function at .../sofar/git/minetest/bin/../builtin/game/chatcommands.lua:862.
      ```
      2f640888
  27. Mar 19, 2016
  28. Mar 11, 2016
    • Auke Kok's avatar
      Introduce "protection_bypass" privilege. · f627ef39
      Auke Kok authored
      This privilege allows map protection bypassing for server operators
      and world moderators.
      
      Initially I had thought that bypassing protection mods would have been
      something that could entirely be done inside mods and minetest_game,
      but the concept of protection is defined in core, in the code of
      core.is_protected().
      
      I don't feel that it would be logical to introduce a protection
      concept in core, but not some way around that for server operators
      to maintain map parts that need fixing, de-griefing or cleanup.
      
      Others had noticed the same problems, and proposed a patch to
      minetest_game. That patch is fine by itself, but it fails to add
      protection bypass functionality for digging normal nodes and placing
      nodes.
      
      So, instead, we indroduce the new priv "protection_bypass" in core,
      and modify 'on_place_node' and 'node_dig' to allow bypassing node
      protections if the player holds this priv.
      
      This priv was tested with protector redo by tenplus1.
      
      A followup patch to Minetest Game will include allowing special checks
      for doors, trapdoors, chests in Minetest Game.
      
      Protection mods will likely want to mimic the changes in their relevant
      code sections.
      f627ef39
  29. Mar 09, 2016
    • Auke Kok's avatar
      Add consistent monotonic day counter - get_day_count() · 4e59fcf5
      Auke Kok authored
      I've written several experimental bits of code that revolve around the
      need for a consistent calendar, but implementing one is extremely hard
      in mods due to time changes and mods overriding core.get_timeofday(),
      which will conflict.
      
      The second part of the problem is that doing this from a mod requires
      constant maintenance of a settings file.
      
      An implementation in core is trivial, however, and solves all of
      these problems at virtually no cost: No extra branches in server
      steps, and a single branch when minetest.set_time_of_day(), which is
      entirely reasonable.
      
      We store the day_count value in env_meta.txt.
      
      The use case is obvious: This change allows mods to create an actual
      virtual calendar, or properly account for seasonal changes, etc..
      
      We add a "/days" chatcommand that displays the current day count. No
      permissions are needed. It can only retrieve the day count, not
      modify it.
      4e59fcf5
  30. Mar 07, 2016
  31. Feb 22, 2016
    • Jeija's avatar
      Add Lua interface to HTTPFetchRequest · 31e0667a
      Jeija authored
      This allows mods to perform both asynchronous and synchronous HTTP
      requests. Mods are only granted access to HTTP APIs if either mod
      security is disabled or if they are whitelisted in any of the
      the secure.http_mods and secure.trusted_mods settings.
      
      Adds httpfetch_caller_alloc_secure to generate random, non-predictable
      caller IDs so that lua mods cannot spy on each others HTTP queries.
      31e0667a
  32. Feb 11, 2016
Loading