The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lumberjacking
Author Message
JeBu
Journeyman
*

Posts: 62
Likes Given: 0
Likes Received: 2 in 2 posts
Joined: Aug 2012
Reputation: 0



Post: #1
Lumberjacking
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?
03-28-2014 07:06 AM
Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #2
RE: Lumberjacking
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?
03-28-2014 07:59 AM
Find all posts by this user Like Post Quote this message in a reply
Feeh
Sphere Developer
*****

Posts: 156
Likes Given: 6
Likes Received: 40 in 29 posts
Joined: Sep 2012
Reputation: 4



Post: #3
RE: Lumberjacking
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.

Feeh/Epila - Nightly releases / SphereWiki / Github Issues / Sphere's GitHub
(This post was last modified: 03-28-2014 09:44 AM by Feeh.)
03-28-2014 09:39 AM
Find all posts by this user Like Post Quote this message in a reply
Alaric
Journeyman
*

Posts: 227
Likes Given: 7
Likes Received: 9 in 4 posts
Joined: Oct 2012
Reputation: 7



Post: #4
RE: Lumberjacking
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.
03-28-2014 08:22 PM
Find all posts by this user Like Post Quote this message in a reply
Feeh
Sphere Developer
*****

Posts: 156
Likes Given: 6
Likes Received: 40 in 29 posts
Joined: Sep 2012
Reputation: 4



Post: #5
RE: Lumberjacking
Check out his youtube channel, there are some videos showing the map streaming.

Feeh/Epila - Nightly releases / SphereWiki / Github Issues / Sphere's GitHub
03-29-2014 04:18 AM
Find all posts by this user Like Post Quote this message in a reply
amonvangrell
Banned

Posts: 337
Likes Given: 17
Likes Received: 32 in 20 posts
Joined: Aug 2012

britannia shard

Post: #6
RE: Lumberjacking
Wonder if sphere can use this, and how to use it.
03-29-2014 12:30 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Feeh
Sphere Developer
*****

Posts: 156
Likes Given: 6
Likes Received: 40 in 29 posts
Joined: Sep 2012
Reputation: 4



Post: #7
RE: Lumberjacking
(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

Feeh/Epila - Nightly releases / SphereWiki / Github Issues / Sphere's GitHub
03-29-2014 11:56 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)