Developer Diaries Full list of changes from minetest

Discussion in 'News' started by proller, Apr 7, 2014.

  1. proller

    proller Administrator Staff Member

    changelog now available here:


    changes freeminer from minetest:
    Engine changes:
    -- (dev)
    license switched to GPLv3
    start using c++11 features
    server: lot of speed optimizations
    real liquids
    real liquid optimized: processing up to 150000 nodes per second
    weather (now fully adjustable): melting, freezing, seasons change, [ugly] snow and rain
    rewrited pathfinder (Selat)
    api for key-value storage (Selat)
    circuit (Selat)
    auto reconnect if connection lost
    do not save not changed generated blocks (reduce base size 5-20x) [save_generated_block = 0]
    farmesh - lost detail on far blocks, allow to view landscape with 500-1000-+ range (very dev) [farmesh = 2]
    Save user/pass for every server [password_save = 1]
    Unicode support in chat, inputs, player names
    server: enable_any_name=0 # allow any player names
    optimized block sending - farther range
    Various death messages
    Mandelbulber fractal generator included for math mapgen
    lot of stability fixes
    DRUN_IN_PLACE=1 now by default ALL PACKAGE MAINTAINERS NEED TO ADD -DRUN_IN_PLACE=0 to build scripts
    Added map thread (liquid, lighting, map save) - server step closer to 100 ms
    client: Removed vmanip from mesh making - adds some fps
    Auto repair broken leveldb db
    Math and indev mapgens
    v5 mapgen
    minimap (gsmapper) (dev)
    drowning in sand/dirt/gravel
    initial shadows from objects [shadows = 1]
    Using more threads for server (server, env, liquid, map, sendblock), removed envlock. (but lua still singlethreaded) can disable in config: [more_threads = 0] or cmake: -DDISABLE_THREADS=1

    incompatible with minetest changes:
    players data files saved to leveldb storage
    new leveldb map key format: "a10,-11,12" instead of 64bit number (freeminer can read minetest maps, but writes to new format)

    Wieldlight. Grab a torch and see the magic. (Zeg9)
    Texturable sun and moon. (RealBadAngel)
    /die command
    Directional fog + horizon colors, based on sun & moon positions at sunrise / sunset (MirceaKitsune)
    Support for colors in chat; API is available for mods
    LevelDB is now used by default as map storage backend whenever available. Official Windows build will ship with LevelDB support from now on.
    Multiple columns in player list (TAB key).
    Third person view, press F7 to cycle through available modes. (BlockMen)
    A lot of boring bugfixes, performance improvements and other stuff.

    Greater FOV (field of view) when running. (Jeija)
    Zoom a-la optifine (z key) (Exio4)
    Force loading world: entities has new force_load attribute, when set the engine won't unload blocks near them. (Novatux)
    New API method freeminer.swap_node which preserves node metadata while replacing it. (Novatux)
    New main menu. (xyz)
    Renamed minetest.conf to freeminer.conf
    Renamed default minetest_game to default
    99% lag-free; optimized server can handle 50-100-... players; no problems with laggy mods even on slow hardware
    Much faster on client (VBO, can eat memory), increased view and send range (PilzAdam)
    Directional fog + horizon colors based on sun & moon positions (MirceaKitsune #799 #772)
    Adjustable dynamic weather and liquids (it's possible to define number of liquid levels in node)
    Weather defined water or ice on map generation. (freezed oceans if low temperature) and dirt_with_snow instead of dirt_with_grass when too cold.
    Cave trees in huge caves (indev mapgen)
    Optimized falling (much less mid-air stuck, limited max falling speed, more air control at high-speed falling)
    Fixed and optimized headless client (you can run 30-50 bots on one PC)
    Hell (very hot at -30500), everything melting and burning
    Slippery (Zeg9 #817)
    Diagonal Rail (khonkhortisan #528)
    Improved (re)spawn (don't spawn in stone) (sweetbomber #744)
    Player list, viewable by holding TAB key (sfan5 #958)
    Improved math mapgen: more (10+)generators from, all params are adjustable
    And some small bugfixes and improvements.

    API changes
    -- (dev)
    minetest.set_node(pos, node, fast) - new fast param. may caue light bugs, but fast
    minetest.remove_node(pos, fast) - fast remove param
    New node groups: freeze, melt, hot, cold (define temperatures); learn how to use them here
    New node group: slippery
    minetest.register_abm({…, action(…, neighbor)}) — the action function has a new parameter called neighbor which will contain a node that was matched as a neighbor
    minetest.register_abm({…, neighbors_range = 4}) — maximum radius to search for a neighbor in (for example, melting snow in 4×4 area around torch)
    minetest.get_surface (sapier #640)

    Game changes
    -- (dev)
    Tnt mod
    Bucket fixes
    Drop torches,plants from liquid
    Weather support (liquids freeze,melt; plants,trees growing; dirt transforms, ...)
    Rain, snow
    Melting stone at high temp (at -30600)
    Slippery (ice, snow)
    Biomes for mapgen v7 and math
    sponge:sponge sponge:iron
    Weather defined tree and flowers growing
    Dirt, sand and gravel will fall off the edges (try to build something ;)
    Furnaces burn items even when they are unloaded
    Moonflower (MirceaKitsune #175)
    Small fixes

    changes freeminer/next from freeminer:
    Incompatible changes:
    new protocol based on enet+messagepack - very fast and easily extensible
    our serverlist
    Last edited: Nov 29, 2014
  2. Enke

    Enke Member

    Goody! Any estimates as to the release date of
    4aiman likes this.
  3. Hybrid Dog

    Hybrid Dog New Member

    Could you add a freeminer ppa for ubuntu?
  4. jojoa1997

    jojoa1997 Member Isn't minetest in 0.4.9
  5. 4aiman

    4aiman Member

    Stable Minetest is :)
  6. I don't quite think that GPLv3 is quite the best idea, but it is definitely more lenient. Still, that isn't my choice.
  7. 4aiman

    4aiman Member

    I think that devs just want to protect themselves against things like Buildcraft for android that would have been helpful should've that guy shared those. Also v3 makes sure that contributors won't claim their changes to be undone, widens the list of compatible licenses, ease the distribution of the sources, helps smoothly restore one's rights should he/she violate someone's rights etc.

    On the topic:
    What glitches may occur? I've used fast remove and so far it's "ok".
  8. Wuzzy

    Wuzzy New Member

    WTF, proller? Why did you nuke math from Minetest then if it is good enough to keep in Freeminer?

    This is how you justified nuking math in Minetest:

    A request of me to please wait until a mod actually implements this was simply ignored by you.

    And how do you justify keeping and even further working on math in Freeminer? I bet it could be implemented in Freeminer as mod, too (but probably less efficient :/ )
    By your logic, you would either have to remove math from both games or from none of them. I really prefer the latter, by the way.

    And thanks to GPLv3, you have practically forbidden the Minetest community to make use of any changes to Freeminer. So a backport of math from Freeminer to Minetest is taboo. Unless you officially grant a license exception or something like that.

    Why are you doing this, this proller? I I am not happy with decisions like this.
  9. I kind of see why proller is doing this (hopefully) As explained above, 4aiman said that there will be less legal issues. Also, this is promoting more growth, not restricting it. This poses the Minetest project with this question: Are we too restrictive? Well, I won't say that they are; this is simply not the case. Still, GPL is easier to work with than LGPL. That way, people who are trying to make changes, and release it as a new piece of work will have less restrictions to deal with.

    Try to think outside the box that contains just Minetest and Freeminer. There are other people out there. I know that there are also MT forks. They are really common. The fact that there are sort of supports going to a less restrictive license.

    Now with this post, I am not making anybody out to be the 'bad guys', but simply saying that this choice will help make life easier.
  10. 4aiman

    4aiman Member

    What I didn't get, was wherther proller wanted his code to be removed or it was purely an attempt to make MT more stable. Otherwise I see no problems with removal.

    People should concentrate onto fixing mapgens vv 5 & 7. Math was used only on 1 server (one that I'm aware of) and Indev looked like ever-inconsistent. Hmmmm seemigly abandoned v7 too. So, the fewer - the better.

    I won't miss neither math nor indev in MT - it lack features and wilingness to accept new ones. Which is strange. I won't go bashing doors, since I don't want to repeat my 2-year-ago self, but if MT is so conserned on the "proper code" it should remove more than what proller had removed and re-implement it.

    As for continuation in FM - there's nothing wrong. FM is for fun mining. There's lots of "indev" functions in FM. And that's not FM problem that MT devs don't want those features or dont want those to be coded as those are now and don't want to re-code those properly. As much as I hate BlockMan's attitude, he tries to do smth about it at least.

    My opinion on the whole situation - MT should go GPLv3 or later.

    PS: Do want this:
  11. proller

    proller Administrator Staff Member

    At moment of math removing from MT it was year outdated from FM.

    Any try improving math in MT was blocked because:
    1. config of math mapgen use JSON - all mt devs against it.
    2. FM math based on mandelbulber source and its GPL.
  12. Hybrid Dog

    Hybrid Dog New Member

    I'm still waiting for mods which add mandelbulber mapgen without lag.
  13. obatperangsang

    obatperangsang New Member