Commit Graph

30 Commits (8bea7f60cf541ee41031ebd7e67a247271d49303)

Author SHA1 Message Date
trivernis 8bea7f60cf
Add option to specify the inner radius of the area.
Doesn't completely work because it checks the area again
and generates the chunks that were skipped over.

Signed-off-by: trivernis <trivernis@protonmail.com>
3 years ago
trivernis ec7af49267
Add support for escaped whitespace to arg parser
Signed-off-by: trivernis <trivernis@protonmail.com>
3 years ago
trivernis e545445348
Add completed command to list completed tasks
Signed-off-by: trivernis <trivernis@protonmail.com>
3 years ago
trivernis 6df01dd137 Add progress report to tasks generating to the worldborder
- Closes #90
4 years ago
trivernis aaa614f651 Cleanup 4 years ago
Trivernis ac6a80ed86
Add autostart config parameter (closes #78) (#84) 4 years ago
Trivernis acf302e8c1
Feature/async chunkmaster (#81)
* Change generation to be asynchronous

At this stage it will most likely crash the server at a certain point.
Pausing and resuming isn't stable. Saving the progress isn't stable as well.
Chunks are being unloaded in the main thread by an unloader class.

* Switch to native threads

- Use thread instead of async tasks
- Store pending paper chunks in the database
- Interrupt the thread when it should be stopped

* Fix insertion of pending chunks

Fix an error that is thrown when the sql for inserting pending chunks doesn't have any chunks to insert.

* Add task states

Add states to differentiate between generating and validating tasks
as well as a field in the database to store this information.
A task will first generate a world until the required radius or the
worldborder is reached. Then it validates that each chunk has been generated.

* Add object representation of world_properties table

* Add DAO for pending_chunks table

* Add DAO for generation_tasks table

* Add state updating to periodic save

* Fix loading of world properties

* Add states to tasks and fix completion handling

* Fix progress report and spiral shape

* Modify the paper generation task so it works with spigot

This change is being made because normal chunk generation doesn't allow
chunks to be requested from a different thread. With PaperLib this issue
can be solved.

* Add workarounds for spigot problems

* Fix some blocking issues and update README

* Add locking to ChunkUnloader class
4 years ago
trivernis 94f70c39b0 Fix #66, #70 Task progress being discarded on resume 4 years ago
trivernis 0bc38384b4 Change pause on join to have a configurable player count
Closes #31
4 years ago
trivernis be130adc6f Improve spigot chunk generation
Add skipping of already generated chunks.
An issue remaining is that some chunks are still
not generated and the shape doesn't always match.
4 years ago
trivernis 0347730580 Improve performance of periodical chunk progress saving task 4 years ago
trivernis 572369192a Add circlular generation tasks 4 years ago
trivernis 2eeff350f8 Add circular shape class 4 years ago
trivernis 53aec18a06 Change group for Chunkmaster dynmap markers
- Change the group to "Chunkmaster" to be able to disable all of those markers.
- Add a marker that displays the last chunk that has been generated and refreshes
every 30 seconds.
4 years ago
Trivernis 832b1c4b55 Add command to set and get the center
- Add getCenter command to get the center of the world used for generation
- Add setCenter to set the world center for generation tasks. If there is already a task running for the world the center for that task will not be  affected.
- Fix SQL problem with multiple queries at the same time creating new connections
- Add translations for new commands
- Add Examples to Readme
- Add new table to safe world centers
- Add query to Generation manager to get the center of the world for new generation tasks
4 years ago
Trivernis bdac496ce2 Fix unique world sql error
Fix error thrown by unique constrain for the world name in the sql table. The error occurs because the data from the database is loaded lazily after several seconds. If a task was started before that it wouldn't be checked against the existing tasks since they haven't been loaded yet. Fixed by loading the tasks if none exists when the generate command is invoked.
4 years ago
trivernis ecc3165f1f Add delay to starting of generation tasks
Add a delay to the starts of the tasks so that they don't all start on the same tick. To completely avoid two tasks being executed on the same tick, the "period" config option should be set to the expected number of tasks or higher.
4 years ago
trivernis 6cb39ce843 Remove logging of eta in seconds 4 years ago
Trivernis a4115ebdf7 Add ETA to periodic reports
Closes #17
4 years ago
trivernis bd731c85f0 Add i18n to generation manager 4 years ago
trivernis 900600714e Add i18n structure 4 years ago
trivernis f89262e538 Add ignore-worldborder config option
- [Convert to unix linebreaks]
- Add ignore-worldborder config option to generate past the vanilla world border
4 years ago
Trivernis 8b63643f7a Changes to sql structure
- changed SqliteUpdateManager to SqliteManager
- added methods to execute sql with values and callback to the SqliteManager
- added auto close of statements
- switched to establishing a connection only when sql should be executed
5 years ago
Trivernis a8729f2e03 Fixes and Generation progress
- added generation progress display
- fixed spigot generation task
- fixed generation units
- fixed generation configuration
5 years ago
Trivernis 350e774bb2 Fixes and Generation units
- generate command now accepts a unit parameter
- fixed the skipping of not generated chunks
5 years ago
Trivernis 7c953ac085 Added tpChunk command
- added tpchunk command
- changed help display on chunkmaster command
- removed autostart table column
5 years ago
Trivernis 209c84b9e7 Less verbose console output
- removed pausing and resuming message when no tasks are running
- stopping and resuming tasks on reload
5 years ago
Trivernis 5d0f158427 Changes to task cancelation and fix
- fixed generate command error on multiple tasks for one world
- changed check of task completion from polling to interrupt (via callback function)
5 years ago
Trivernis 132294d683 TabComplete for all subcommands
- added tab complete to all subcommands
- added list of paused task when no task is running
- added possibility to remove paused tasks
5 years ago
Trivernis c49036e35b Performance improvements
- improved performance on paper servers by using chunk coordinates instead of chunk instances to check if the chunk was generated
- moved generation stuff to lib/generation
5 years ago