Posts by zfoxfire

A new update is now available, introducing a lot of new content!
Latest hotfix: 0.7.5.2 (2024-09-10)

    The box
    Intel Xeon i7-5820 (I opted for more cores over a gpu I'll never use)
    Nvidia 960GTX
    ASUS board
    16 GB DDR4
    3TB of mechanical storage (Western Digital black)
    512GB Sata SSD (Mushkin Reactor) -- it was affordable and the name sounds cute
    (when I have a little money to burn I want to get an m.2 drive)


    New laptop is a Lenovo T460s
    Intel Skylake i7
    Nvidia 930m
    8GB DDR4


    My last laptop was so old it could heat the room with it's radio tubes ;-p

    This is a bit (more like a kilobyte) of an add on to Miwarre's suggestion to add some functions to the API to retrieve the group names or group the player is in. This is fine but I'd like to also see a way to add custom values to the permissions. I know we can add custom attributes already can be added to the Player table but that's very 2-dimmensional. I'd like to see the ability to add more complex data in a format that's admin friendly to read.


    The following you can pass a string in with the name of the group you are interested in and optionally a node. Now I'm not sure how to represent the node or what kind of returned data structure these should yield. I like working with JSON but I'm more of a Python guy so I'm not sure how easy it is to manipulate a JSON object in Java. Perhaps the return should be a multi-dimensional array. I don't know but here are the functions I'd like to see:



    Server.getPermissionDetails(GroupName,Node) #Specify the group name and optionally a node. If Node is not specified then the return is a data structure representing the entire yaml file
    Player.getPermissionDetails(Node) #Obviously Group name is not needed. It just returns the effective permissions from the specified node)
    Player.getCustomPermissionDetails(Node) #same as above but the root node defaults to Custom


    Here's an example using what I see the potential to be to centrally store custom settings. These settings and values are arbitrary and not based on any known plugin/script functionality



    so if I wanted to grab a custom setting, we give the parent node and the function returns a JSON (I'm partial to json structures but it could be any other structure that makes sense in Java such as nested arrays(.


    Server.getPermissionDetails("Settler","Custom/AreaProtection")


    this would return something structured like { "GlobalRole": "Settler", "Allowed": { "OpenOthersDoors"}, "Deny" : {"EditAreaWithoutBeingAdded", "OpenOthersChests", "GriefWithTNT"} } (again, this is a JSON example because that's what I'm familiar with)


    or something more specific:


    Player.getCustomPermissionDetails("Guestbook")


    Returns a structure like { "Allow" : { "LeavePublicComent" }, "Deny" : { "LeaveEmailAddress" } }


    Player.getCustomPermissionDetails("Guestbook/Allow")


    this returns something like { "LeavePublicComment"}

    A model for adding custom permissions in the permissions file would also be very useful. Custom permissions can be checked by a plugin but would be ignored by the vanilla game. The biggest advantage of this would be to centralize plugin permissions under a central location and we could easily implement plugin usage restrictions ourselves

    So chatting with Thorfinn and Harv on my server and we came up with some thoughts regarding metalurgy



    new ores

    • Tin
    • Zinc


    new "stones" (these can be used to craft marble type blocks)

    • Marble
    • Granite
    • Quartz
    • Limestone


    Metalurgy

    • Tin and Copper make Bronze
    • Zinc and Copper make Brass (and brass makes bullets for our future guns)
    • Iron and Coal make Steel



    In addition:

    • Clay we should be able to cook into bricks to make some of the brick patterns on the blockbench
    • At some point when we get some kind of advanced crafting system, aluminium should be only craftable using an electrolizer (if planned)
    • In above scenario, the Tier II workbench (I assume would eventually be some kind of fabricator workstation) should be craftable using iron and steel, not aluminum since it probably won't be possible to craft an electrolizer without one



    Another related thread that the forums told me about is relevant and more detailed
    M D Bards Suggestions

    I had an idea a while ago that there could be a game mode in addition to the standard and creative... We could have a mode where you start barehanded and have to work your way up from the stone age to modern age. Recipes would have to be unlocked as key events happen such as discoveries made or old books found (lost knowledge from a past civilization). For example, if you find tin (not in the game) then you are able to advance into the bronze age (a milestone achievement) and more crafting options are possible.
    The standard mode (current default) can stay the way it is as all the crafting recipes are unlocked.


    Anyways, we're still a ways away before any of that even might happen but it would be neat to see what develops in the future. I hope this idea is being considered atleast.

    Totally.. to me a "dungeon" represents the iron age so there would be books and scrolls with information on building old things such as the crossbow (that would be a good dungeon only find). Maybe abandoned libraries or other types of larger buildings might be another type of ruin we encounter. Those could have more modern crafting recipes

    This would be a very nice addition to the game for all vegetation. Allow a sapling to land and instead if the normal despawn rate elapses it plants itself. Animals could pick them up and carry them as well not to mention the upcoming bandits and other npc.

    At present, NPCs have a hunger level as we do but it's not being used. I'm sure its just a matter of writing the code to add feeding habits. Then we can all start competing for food sources but naturally respawning vegetation probably needs to be implemented first.


    and if a "shit system" is implemented we could use the shit for better farming and such too


    I was just reminded of the "Pooping Evolved" and "Press Z to Poop" tribes in Ark Survival.

    and find it in a dungeon

    Yes, exactly! a blueprint for something new could be a treasure and the blueprint doesn't have to be for an Iron Maiden or a torture rack. It could be to unlock lamps and other more modern inventions. But that goes into ideas of progression where we start from primitive stone tools and work our way up to more advanced craftables.

    I definately like this idea. I hope we will get some kind book/blueprint system where we can discover crafting recipes for such items like dungeon props. Perhaps they can be found in jars or books in libraries (if ever added to dungeons).

    I would also like to see this and when animal AI becomes more advanced, animals should eat local vegetables but plants/trees/vegetables should be able to spawn saplings within a certain radius of the matured version. Animals should only eat matured plants and a sapling should possibly spawn nearby immediately after the parent matures and fruits. Finding vegetables may or may not be more difficult depending on how the spawn rates of vegetables and of animals is set (would have to be tweaked as time goes on).


    The only issue I see is, as you said, they would replicate on their own which means they will start growing in unintended areas. But I suppose lawn maintenance is something that we would have to do in real life. In that regards, grass should also re-grow and spread.


    Perhaps an addition to the API would be useful to set whether or not automatic re-growth is allowed in a chunk.

    I like the idea of a flashlight simulator for lighting up a dark room and every now and then an object moves while you're not pointing at it. On occasion something will jump out and scare you! O_o

    Ok.. nvm I just got it to work but I'll share the answer in case anyone else runs into it too. There's a special command in screen that I just overlooked it because i figured it was just part of an example command on stack overflow.



    screen -S <the screen id> -p 0 -X stuff "yell another test\r"


    So "stuff" is actually a command that "stuffs" the string into stdin. Otherwise it goes... i don't know where.

    So I'm getting to the point where I'm going to have to start automating some tasks. i need to be able to pass console commands to the game. I'm just having trouble getting it to work. I tried a few examples on stackoverflow and by following the stop section of linux_startup.sh


    screen -S <myscreen> -X yell this is a test
    screen -S <myscreen> -X "yell this is a test"
    screen -S <myscreen> -X yell this is a test\r
    screen -S <myscreen> -X "yell this is a test\r"
    screen -S <myscreen> -X "yell this is a test$(printf \\r)"


    Any suggestions? none of the above are executed in rising world. What I'm trying to do is sent a warning message to everyone before restarting the server. I'm going to attach this to a cron job eventually.