Updated Home (markdown)

Jesse Boyd 2016-04-15 03:39:44 +10:00
parent 08e90689b3
commit 1548fa4b86
1 changed files with 38 additions and 1 deletions

39
Home.md

@ -1 +1,38 @@
Welcome to the FastAsyncWorldedit wiki!
#### FAWE is an addon for WorldEdit and has multiple benefits:
- Remove lag by being fast (instead of slow)
- Edits are asynchronously processed and executed in fragments so the server doesn't hang
- Minimal memory footprint with compression, and an undo on disk that actually works
- Various safety measures e.g. entity/blockstate limiting, low memory checks and region restrictions
- New and useful functionality
#### How do I install the plugin?
- Download FAWE (above)
- Optional Vault (if you have a permissions plugin and want toggles)
- Optional BlocksHub (if you want to hook into block logging)
##### Configuration
https://github.com/boy0001/FastAsyncWorldedit/wiki/Configuration
##### Permissions
https://github.com/boy0001/FastAsyncWorldedit/wiki/Permissions
#### How fast is it?
It varies depending on what you are doing. The block placer probably has an upwards limit of around 20,000,000 blocks per second (bps) if you ignore preprocessing, have the area already loaded, and have 65536 changes per chunk.
In game you'll see around 5-10mbps with fastmode and 1-3mbps without. Enabling further compression, chunk waiting or history on disk will result in slower edits. More complex actions e.g. `//regen` will also be slower.
#### How large can an edit be:
If you use fastmode or enable history on disk, there is no limit. Without enabling further compression it's probably about 10mb/million blocks.
#### How does FAWE speed up WorldEdit
- The chunk object is modified directly, removing the overhead from the Bukkit API.
- Physics updates are skipped
- Lots of things are cached e.g. Mappings of block id to baseblock or recently accessed chunk data arrays
- Custom relight algorithm performed at the chunk level which is a lot faster than relighting all placed blocks
- Block changes are sent to the client with a chunk packet rather than a packet for each block
- Skips various redundant checks e.g. blocks without any data skip data checks, blocks without nbt skip nbt checks etc
- Up to 11 layers of redundant WorldEdit extents can be removed depending on the action you are performing
- The queue can being making changes to the world while an edit is still in the preprocessing stage
#### How does FAWE use less memory
- Reducing the overhead also avoids unnecessary object creation
- FAWE generally stores information in more compact forms e.g. An empty chest is represented as two bytes and then put into a compressed byte array instead of a BlockState with redundant nbt.
- As Large edits will be dispatched during preprocessing, the whole thing will never need to be stored in memory all at once.