RealFluids

Discussion in 'WIP and Development Status' started by mindless728, Feb 22, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    mindless728

    sponges were going to be for that, but i think they may be bugged right now

    as for the snow tile thing, i'll try to get that done this week if i remember
     
  2. Offline

    Dominic

    This plugin is great! I can't wait for the buckets to be working ;)
     
  3. Offline

    mindless728

    yeah, i am working on buckets, configuration file (read being able to choose what blocks get destroyed by fluids), major bug fixes (got a few done right now)

    on another note, i don't think i will be able to thread this plugin easily and if i do it correctly the speed enhancement might not even be worth it
     
  4. Offline

    Dominic

    Man I can't wait! When you release the first version you should look into getting a donation button. Just playing around with what you have now was a lot more fun than the normal water! I could easily see myself making a healthy contribution. I think it would be ready for a inital release test once the main bugs are squashed out as well. The configuration sounds really fun too, having the water being able to wash away blocks sounds devilishly fun. On that note, would it be possible to have lava remove certain blocks while water remove others? IE: Water will remove crops while lava will remove crops and "melt through" sandstone or normal stone.

    As for the threading...I would leave it alone until you get everything set-up all proper (In my opinion, of course) If it doesn't cause an issue, then why fix what isn't broke right?
     
  5. Offline

    mindless728

    i could have water and lava destroy different types of blocks, that isn't too hard to do in the config file and in the code (just a few lines here and there)

    for threading, i tried a simple test, and it met with hilarious consequences, will try again after i modify my BlockStorage to allow multiple threads in and out of it (it is not thread safe at the moment) and i think it caused some of the erratic behavior i saw
     
  6. Offline

    Dominic

    Would be cool for liquid specific reactions. I was already thinking of how cool it would be to have the water pump be toggable with red stone haha ^_^. You could make artifcial waves! But thats for another time I suppose!

    I hope the threading goes well! This is the first plugin that I have actually been following for awhile now haha. Is it a bother to explain the benefits of adding threading to the plugin? I'm not a programmer :|

    Edit: I'm probably gonna make a video of the demo for some friends. Did you want me to post the link here when I upload it?
     
  7. Offline

    mindless728

    actually i was already thinking of having redstone enabled fluid pumps, and since you can chain pumps together all of the chained pumps would also flow as well (pretty much you need one charge for a group of touching pumps)

    well, the threading would allow me to use unused cores on the server (as it stands bukkit only uses one core) to calculate the fluid flow, however you lose a lot of performance when data has to be shared between threads as you can't have a thread reading and another writing (or 2 writing ) at the same time

    as for video's, it would be awesome if you posted a link here for them after they are uploaded
     
  8. Offline

    Dominic

    The redstone would be cool for sure! It would diffuse the fuss from pixel artists since the blue cloth would no longer be spitting water at em, (if it was turned off to begin with?).

    To threading: Ah, that's what I was able to figure about threading but wasn't exactly sure. I suppose the only way to find out if it helps or not is just to test it? And I will post the video here when it's done!
     
  9. Offline

    Dominic

    Hey everyone,
    I have uploaded a new video showing off the basic features of RealFluids!​

    Warning:You need to turn up the volume UBER high! I failed at turning my MC volume down and my Mic volume up. So make sure you have no random noises in the background...or you might blow out your eardrums!​

     
  10. Offline

    mindless728

    Like the video, thanks for posting it

    though for an update, i managed to kill 3 major bugs, fix some of the water flow attributes, and sponges work again. On to making the config file and trying to speed up slow parts of the code, and hopefully buckets by the end of the weekend then new demo version. After the next version i would love to try and get bug reports from people using the demo version to fix any of those bugs then maybe a beta or 2 then release.
     
  11. Offline

    Dominic

    No problem on the video. Not the best sadly...

    Congratulations on the bug fixes! I can't wait to try out the next version :|. Also, I could probably help with all the testing since I have a private server with some well trusted friends (you could even join as see it in action yourself lol). I get free from college next week so I will have plenty of time to help inbetween jobs
     
  12. Offline

    mindless728

    yeah, they weren't too bad as far as bug fixes go, and testing would be greatly appreciated, though i think i will be also running a public server from home as a anything goes PvP so i can get some testing in a real world server going, i will be more active soon as well as I only have a few more weeks left this quarter

    EDIT: as for speeding up the code, i think i might be having the running code ditch old flow events so it doesn't process them as a way to save processing power, though the amount of time to wait for before doing this would be configurable
     
  13. Offline

    Dominic

    Hm. What would ditching the old flow events mean for the plugin? How would this change the behavior of the water?

    Edit: Yeah- I'd be more than happy to help with testing the demo. In my opinion, this is how fluids should act in MC from the beginning.
     
  14. Offline

    mindless728

    ditching old events really wouldn't change the behavior too much, at least i wouldn't think so, might make events that are generated a long time ago go away as their haven't been any interactions with it

    as for testing, just give me a description of what happened and if their was an exception the stack trace from the server output would be very helpful and i will be posting the server info in this thread for the public server i will be running (it will use RealFluids, BlockStorage, and FluidPumps)
     
  15. Offline

    Dominic

    Alright I can do that! I will keep watchin these forums for updates. I was just thinking how epic volcanos can be now with this plugin :D
     
  16. Offline

    Vlyn91

    I'm using this Plugin on my server now for.. maybe a month? At first the players were a little bit unhappy, but now I think they like it too ;-)

    Just got some little problems:
    a) The fluid pumps suddenly stop working (There was no extreme fluid action at this time, the wool blocks just stop working and always need to be replaced, new placed watersources work without problems. Haven't touched the files in BlockStorage)
    b) The Block storage folder gets really big (Over 5.000 files and so on). I think when there are too many events the fluid system breaks. The water stops moving, water sources (Blue wool) doesn't do anything.... Deleting all files from Block Storage and restarting the server solves this issue. Maybe a solution: When a fluid is "finished" with filling out an area and there is no movement anymore, could you delete all BlockStorage files for this fluid then? The next time someone destroys / adds a block the fluid will be updated again and get new files? Just a little suggestion, maybe it would help a lot.

    I really appreciate your work. Now downloading your new version :D
     
  17. Offline

    mindless728

    good to hear they eventually enjoyed it

    hmmm, will try to get this to happen myself, haven't seen it on my test server (though it is just myself), there were no error messages in the server output though?

    unfortunately, i can't just delete the files in there as each of those files is the data for the fluid levels and if deleted would be lost unless it is in the cache for the plugin, this is done as nobody has enough memory to keep all of the fluid levels in memory (you would be looking at 100's of GB in memory, 128GB for 1024x1024 chunks). Though i have been meaning to change the BlockStorage to store multiple chunks in a file instead of one file per chunk
    EDIT: as it stands the plugin keeps 1024 chunks worth of fluid levels in memory at a time

    no problem, though as for the new version, i should have one out later today with configuration file support so you all can change the parameters i use for the plugin
     
  18. Offline

    Vlyn91

    Okay, just tried something:
    Stopped the Server, Deleted the blockstorage, Started the Server, Replaced all my wool blocks. The system is working perfectly...
    Then Serverstop (Just "stop", saving world and so on), Serverstart -> All pumps stopped working again.

    There's something wrong :(
     
  19. Offline

    mindless728

    the FluidPumps doesn't save the pumps between restarts right now
     
  20. Offline

    Vlyn91

    Ouch! My server restarts every hour because of performance issues :-(

    Damn, now I know why they were broken every now and then.
     
  21. Offline

    Dominic

    Yeah- I wouldn't use RealFluids on a popular server yet. It can cause issues (since its just in the demo version right now of course). I remember it transformed one of my oceans into a scene from the bible when the red sea was split! Haha, just a big ol' gap in the water that goes on for miles. Neat to look at though, but it caused extreme lag!
     
  22. Offline

    mindless728

    well the lag should be fixed now since i only allow so much time per server tick for the code to run, but the fluids will just slow down (a lot), and i realize that 1) this code has bugs (some are quite major) 2) is very far from complete, i plan on a release tonight, a few more demo versions, a few beta versions, then initial release
     
  23. Offline

    Vlyn91

    I'm using it on my server with about 10-20 players. Had some little accidents (Red/Blue Blocks.. haha..) but altogether it worked great.

    Could you save the pumps at server stop? I thought they're saved in the BlockStorage Files, but looks like I was false ^^

    P.S.: Split an ocean? Nonsense, just don't mess around with your Admintools. The Plugin itself is sometimes a little bit buggy (Like fluids not flowing down), but I didn't see anything critical. Of course you can build fluid bombs... but that's 90% of the time intentional :D
     
  24. Offline

    mindless728

    i plan on having the pumps get saved at shutdown, just haven't gotten around to it yet, the next release will also fix sponges (hurray!), the pumps don't need to be stored in the BlockStorage as they all need to be loaded and don't take up much memory (so no need for caching them at all)

    also for the pumps i think i will make them redstone activated at some point as well
     
  25. Offline

    Vlyn91

    But please add a config file for redstone! Or do it like: No power = on, Power = off.

    I often build pipelines over rails etc., for each pump a redstone source would suck :(

    Btw.: Could you use black wool blocks instead of sponges? Players can't receive sponges without additional plugins or /give :-(
     
  26. Offline

    mindless728

    i was thinking that if one pump in a chain was powered the whole chain would be, so you would only need one switch at a minimum

    as for black wool, i was thinking sponges as a admins can only get it and realistically players could use pumps to move fluids out of an area
     
  27. Offline

    Vlyn91

    Nope, as long as there is a source block you've a problem. And even without source block it's hard to get rid of fluids (I tried it myself and with players). You'll flood something or just drown when it happens in a cave (Except you place a torch...)

    Players can already create unlimited lava.. so a unlimited fluid drain wouldn't make things worse ;D

    The idea with redstone is basically ok, but I create complex pump systems and there is often no space for that. Something like: No redstone power = Pump on and Redstone Power on = Pump off would work great for me.
     
  28. Offline

    mindless728

    ok, i guess i could add it to FluidPumps that black wool sucks all adjacent fluid up

    i guess i could make it configurable as RS_ON, RS_OFF, ALWAYS to have it active with redstone on, redstone off, and always on respectively

    Updated RealFluids to 0.6 and FluidPumps to 0.3

    the configuration file for RealFluids
    Code:
    WaterStartLevel: 2000
    LavaStartLevel: 1000
    MinimumDifferenceLevelFraction: 0.05
    RepeatRate: 1
    MaxFlowTimePerRepeat: 25000000
    SimsPerRepeatFraction: 0.5
    FlowDownFraction: 0.5
    ChunkCacheSize: 1024
    WaterOverwriteList: 0 false
    LavaOverwriteList: 0 false
    Definitions:
    WaterStartLevel: the amount of fluid a single water block has
    LavaStartLevel: the amount of fluid a single lava block has
    MinimumDifferenceLevelFraction: the minimum amount, in a fraction, before fluid is allowed to flow, if under this fractional amount flow will not happen, the larger this fraction is the less precise the flow will be
    RepeatRate: the number of server ticks that the running code repeats in, 1 is every tick, 2 is every other, ...
    MaxFlowTimePerRepeat: the maximum amount of time that the running code will run per server tick, this value is in nano seconds
    SimsPerRepeatFraction: the maximum amount of repeats in a server tick, so the fluids don't flow too fast
    FlowDownFraction: the maximum amount of fluid will try to flow straight down in a simulation
    ChunkCacheSize: the amount of chunk caches fluid levels to keep in memory at a time, low values will cause many reads/writes from/to the disk, a large amount will use a lot of memory
    WaterOverwriteList: the list of block id's that water can overwrite, the boolean after each value is whether or not to drop the item associated with the block
    LavaOverwriteList: same as the WaterOverwriteList but with lava instead of water

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 9, 2016
  29. Offline

    shahinian

    when i use this mod none of the water flows, i have the storage and realfluids installed and am running it on bukkit 1.5
    please help
     
  30. Offline

    mindless728

    you need to add a list of block ids that the fluids can overwrite along with a boolean that says whether or not it drops items
    Example:
    Code:
    WaterOverwriteList: 0 false
    LavaOverwriteList: 0 false
    
    this would overwrite only air blocks

    to have water overwrite air and torches you would change it to, and drop the torches
    Code:
    WaterOverwriteList: 0 false 50 true
    LavaOverwriteList: 0 false
    
     
Thread Status:
Not open for further replies.

Share This Page