mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-19 14:59:21 +00:00
* Better maps syncing (#2) * Do not create new views for maps from current world * Fix maps in shulkers not converting * Add bundle support for map conversion * Rework map sync * Fix empty statements in database * Fix missing imports * Rename connectMapIds -> bindMapIds * Use data adapter to save maps * Split Mongo readMapData * Split MySQL readMapData * Split Postgres readMapData * Update database schemas Use server names instead of world UUIDs * Update Database class * Update MongoDbDatabase class * Update MySqlDatabase class * Update PostgresDatabase class * Update BukkitMapPersister class Use server names instead of world UUIDs * Remove unused code * Add my nickname to contributors :) * Start implementing Redis map caching * Continue implementing Redis map caching * Bind map ids on Redis before writing to DB * Finish implementing Redis map data caching * refactor: decouple new map logic Redis caching from DB * test: enable debug logging in test suite * docs: update docs with new username method * feat: adjust a method name --------- Co-authored-by: Sóla Lusøt <60041069+solaluset@users.noreply.github.com>
Testing HuskSync
This is a rudimentary Python script for running a little Proxy network of servers for quickly testing HuskSync.
Run the script to spin up a Velocity proxy and a pair of Paper servers for testing HuskSync.
- Useful for development & feature testing
- Not useful for stress or integration testing.
- Only works on Windows (as it deals with bash scripts)
- Only spins up Paper servers at the moment ()
If you don't want to do this you can also run a single-server test with the various runServer tasks in the Bukkit/Fabric modules.
PRs to improve testing are welcomed with open arms & cups of tea!
Requirements
- Windows
- Python 3.14
- MySQL DB running locally
- Redis running locally
How to run
- Edit
spin_network.pyto your liking (change the MC version, add your name/UUID as a server operator) - Configure HuskSync to point to your local MySQL/Redis DB (edit
~/test/config.yml) - Run `pip install -r requirements.txt
- From the repository route, open terminal and run
cd ./test, thenpython3 ./spin_network.py
Tips
- Delete
~/test/serversand~/test/HuskSynceach time you want to download Paper/Velocity & re-create worlds, etc. - Create an IntelliJ Run & Debug Python task to do this with a
Run Gradle Task beforetoclean buildthe project before.