Skip to content
Snippets Groups Projects
  1. Mar 24, 2016
    • Rui's avatar
      Credits: Make that easy to add/remove · 21c47968
      Rui authored
      21c47968
    • 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
  2. Mar 19, 2016
    • paramat's avatar
    • Rui914's avatar
      Set acceleration only once in falling node · 65c09a96
      Rui914 authored
      65c09a96
    • Auke Kok's avatar
      Allow NodeTimer, ABM and block mgmt interval changes. · c5c727d6
      Auke Kok authored
      ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
      run at every 1.0s. Block mgmt is running every 2.0sec.
      
      However, these timers can be better tuned for both higher and lower
      values by server owners. Some server owners want to, and have the
      resources to send more packets per second to clients, and so they
      may wish to send smaller updates sooner. Right now all ABM's are
      coalesced into 1.0 second intervals, resulting in large send queues
      to all clients. By reducing the amount of possible timers, one can
      get a far better response rate and lower the perception of lag.
      
      On the other side of the camp, some servers may want to increase
      these values, which again isn't easily doable.
      
      The global settings abm_interval and nodetimer_interval are set to
      current values by default. I've tested with 0.2/0.5 type values
      and noticed a greatly improved response and better scattering of
      nodetimers, as well as enjoying not faceplanting into doors with
      pressure plates anymore.
      c5c727d6
  3. Mar 15, 2016
    • est31's avatar
      Add option to not send pre v25 init packet · af301831
      est31 authored
      The legacy init packet (pre v25) sends information about the client's
      password that a server could use to log in to other servers if the
      username and password are the same. All the other benefits of SRP of
      protocol v25 are missed if the legacy init packet is still sent during
      connection creation.
      
      This patch adds an option to not send the v25 init packet. Not sending
      the v25 packet means breaking compat with pre v25 servers, but as the
      option is not enabled by default, no servers are affected unless the
      user explicitly flips the switch. More than 90% of the servers on the
      serverlist support post v25 protocols.
      
      The patch also fixes a bug with greying out of non compliant servers
      being done wrongly, the min and max params were mixed.
      af301831
  4. Mar 12, 2016
  5. Mar 11, 2016
    • paramat's avatar
    • 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
  6. 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
  7. Mar 07, 2016
  8. Mar 05, 2016
  9. Feb 27, 2016
  10. Feb 26, 2016
  11. 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
  12. Feb 21, 2016
  13. Feb 11, 2016
  14. Feb 09, 2016
  15. Feb 08, 2016
    • RealBadAngel's avatar
    • Diego Martínez's avatar
      builtin: Fix `print` crashing on nil "holes". · 43019538
      Diego Martínez authored
      The engine implementation of `print` packs the varargs into a
      table and passes the table directly to `table.concat`. If you
      pass any value not supported by `table.concat` (particularly
      `nil`), the server crashes. This is unexpected behavior, as
      `print` is supposed to be able to work with anything.
      
      This patch changes the implementation so it first converts
      all arguments using `tostring`, which fixes the issue and
      makes the custom `print` function compatible with the stock
      Lua behavior.
      43019538
  16. Feb 07, 2016
  17. Feb 04, 2016
  18. Jan 31, 2016
    • Duane Robertson's avatar
      Mgvalleys: use standard caves · 80c7612e
      Duane Robertson authored
      Replace simple caves with V5 caves, adding unpredictable water and lava
      settings and massive caves based on subterrain. Remove fast terrain mode
      and accompanying settings. Remove superfluous temperature/humidity
      settings. Remove lava/water height setting. Fix errors in humidity
      handling and remove humidity_break_point setting. Move cave noises to
      generateCaves. Fix minor formatting/naming issues and use
      MYMAX/MYMIN/myround.
      80c7612e
  19. Jan 29, 2016
    • Auke Kok's avatar
      New timer design. · ad884f23
      Auke Kok authored
      I could honestly not make much sense of the timer implementation
      that was here. Instead I've implemented the type of timer algorithm
      that I've used before, and tested it instead.
      
      The concept is extremely simple: all timers are put in an ordered
      list. We check every server tick if any of the timers have
      elapsed, and execute the function associated with this timer.
      
      We know that many timers by themselves cause new timers to be
      added to this list, so we iterate *backwards* over the timer
      list. This means that new timers being added while timers are
      being executed, can never be executed in the same function pass,
      as they are always appended to the table *after* the end of
      the table, which we will never reach in the current pass over
      all the table elements.
      
      We switch time keeping to minetest.get_us_time(). dtime is
      likely unreliable and we have our own high-res timer that we
      can fix if it is indeed broken. This removes the need to do
      any sort of time keeping.
      ad884f23
  20. Jan 24, 2016
  21. Jan 18, 2016
  22. Jan 16, 2016
    • Rogier's avatar
      Fix error message in settings tab overlapping 'save' button · 487ab593
      Rogier authored
      The save button is now fully functional again when an error message
      is shown.
      
      After an invalid value is entered in the settings tab dialog, the GUI
      label for the error message that is shown was partly overlapping the
      'save' button, so that the top half of the button could not be clicked
      on.
      487ab593
  23. Jan 14, 2016
  24. Jan 10, 2016
    • paramat's avatar
      Mgflat: Set blank default spflags. Unhide · 3e0ea3c6
      paramat authored
      3e0ea3c6
    • Rogier's avatar
      Fix the checking of flags values in the settings tab · 31ac53df
      Rogier authored
      Changes:
      - Accept setting an empty flags-type value in the settings tab
        if the variable specification permits it
      - Don't accept substrings of flag values
        E.g. with values: 'one,two,three', 'hree', 'w', etc. used to
        be accepted. Not any more
      - Don't accept flags with random pattern-matching special characters
        E.g. with values: 'one,two,three', 'on.', '(o)[n]e*' etc. used
        to be accepted. Not any more.
      31ac53df
Loading