![]() |
Lumberjacking - Printable Version +- SphereCommunity (https://forum.spherecommunity.net) +-- Forum: General Discussion (/Forum-General-Discussion) +--- Forum: UO/Sphere Discussion (/Forum-UO-Sphere-Discussion) +--- Thread: Lumberjacking (/Thread-Lumberjacking) |
Lumberjacking - JeBu - 03-28-2014 07:06 AM What do you guys think about this kind of lumberjackign system? https://www.youtube.com/watch?v=VgQfz4gAq9Q https://www.youtube.com/watch?v=Yb9jRP-8gfI Good and bad? RE: Lumberjacking - darksun84 - 03-28-2014 07:59 AM Well it's very nice, i wonder how he did manage to do that. Are the trees dynamic ? or it's a modified client? or maybe something else? RE: Lumberjacking - Feeh - 03-28-2014 09:39 AM Praxiiz managed to create this system by creating a new Igrping.dll. Once the client start, it will load the dll and then the dll will inject itself to the client and will handle some functionalities (communications, file handling, etc...). The dll also target the original dll (renamed to Igrping_.dll) for the default functions. It will create blank map files (if your server ask to or use custom maps). When the client more around the map and the server detect map changes (or blank map), a streaming process will start. Basically this system "turns" the map into a dynamic state, when needed the server send the change to the client. For both server/client side, none of the original files are modified, the server stores the changes into "patch" files and the client has a custom folder that store the map like the original files When the player chop a tree, the server remove the world static and send the change to the client. There is a tree spawning system that handle every tree harvest. In theory you can devastate the entire world and the server would respawn them but will take some time to harvest 200.000+ trees =P I am not into how exactly the luberjacking works, but seems to be something like that If you are wondering about the network usage, I tested it and the peak was ~950bps for streaming unknown areas. Live map editing should take no more than 100bps since most edits are point based The system is pretty functional and can be tested in live servers with no major problems although it seems to not be finished There are some other technical details that I can explain if you have a more specific curiosity, even if it has not created by me. RE: Lumberjacking - Alaric - 03-28-2014 08:22 PM If it was well optimized i would certainly give it a try. At first i thought he was creating new items and every tree is an item handled by server itself. But if it's how you say... it seems good. RE: Lumberjacking - Feeh - 03-29-2014 04:18 AM Check out his youtube channel, there are some videos showing the map streaming. RE: Lumberjacking - amonvangrell - 03-29-2014 12:30 PM Wonder if sphere can use this, and how to use it. RE: Lumberjacking - Feeh - 03-29-2014 11:56 PM (03-29-2014 12:30 PM)amonvangrell Wrote: Wonder if sphere can use this, and how to use it. In theory it is possible This system is designed to run inside RunUO scripts. If you want to export this to Sphere, either you will have to integrate it with the core or create an external server application that Sphere can communicate with via script and also modify the client side dll. Of course there are other ways you could use to recreate this on Sphere. It may be possible to handle the system fully by scripts using file-operations (don't know how sphere will behave with file changes or if it allow MUL/UOP file opening while the server run) but the system depends on reading long files, processing client queries and even calculating hash for long files. I don't want to discourage anyone to recreate this system on Sphere by pulling this big wall between the system and Sphere, just want you to know how it works and what it does need to work. As I said, there is a bunch of ways to recreate using Sphere |