From e85fff565e8007bf5c39b2c74a2e8d68e45f187f Mon Sep 17 00:00:00 2001 From: zardzul Date: Tue, 10 Feb 2026 21:12:14 +0100 Subject: [PATCH] initial creation of new config type --- .dockerignore | 4 ++ .env.example | 1 - .gitea/workflows/production.yml | 12 ++-- .gitea/workflows/publish.yml | 29 +++++++++ .gitea/workflows/restart.yml | 4 +- .gitignore | 5 +- Dockerfile | 23 +++++++ README.MD | 26 -------- README.md | 19 ++++++ compose-test/docker-compose.yml | 10 +++ configuration/eula.txt | 1 + configuration/server.properties | 57 ++++++++++++++++++ configuration/whitelist.json | 4 ++ data/.cache/curseforge/cache-index.json | 1 + .../14ef06dc-1a65-4611-87d6-c61eea6c8b00.json | 1 + .../3fa6caf4-40e9-4b41-91b0-6d44997753b0.json | 1 + data/.rcon-cli.env | 1 + data/.rcon-cli.yaml | 1 + data/eula.txt | 4 ++ docker-compose.yml | 30 --------- server-icon.png | Bin 0 -> 9073 bytes whitelist/whitelist.json | 6 -- 22 files changed, 167 insertions(+), 73 deletions(-) create mode 100644 .dockerignore delete mode 100644 .env.example create mode 100644 .gitea/workflows/publish.yml create mode 100644 Dockerfile delete mode 100644 README.MD create mode 100644 README.md create mode 100644 compose-test/docker-compose.yml create mode 100644 configuration/eula.txt create mode 100644 configuration/server.properties create mode 100644 configuration/whitelist.json create mode 100644 data/.cache/curseforge/cache-index.json create mode 100644 data/.cache/curseforge/getModFileInfo/14ef06dc-1a65-4611-87d6-c61eea6c8b00.json create mode 100644 data/.cache/curseforge/searchModWithGameIdSlugClassId/3fa6caf4-40e9-4b41-91b0-6d44997753b0.json create mode 100644 data/.rcon-cli.env create mode 100644 data/.rcon-cli.yaml create mode 100644 data/eula.txt delete mode 100644 docker-compose.yml create mode 100644 server-icon.png delete mode 100644 whitelist/whitelist.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fdaff96 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +docker-compose.yml +Dockerfile +.env +.env.example \ No newline at end of file diff --git a/.env.example b/.env.example deleted file mode 100644 index 645ebf3..0000000 --- a/.env.example +++ /dev/null @@ -1 +0,0 @@ -RCON_PASSWORD="" \ No newline at end of file diff --git a/.gitea/workflows/production.yml b/.gitea/workflows/production.yml index 00056ef..2044cf0 100644 --- a/.gitea/workflows/production.yml +++ b/.gitea/workflows/production.yml @@ -16,31 +16,31 @@ jobs: path: . - name: Transfer files - uses: burnett01/rsync-deployments@7.0.1 + uses: burnett01/rsync-deployments@8.0.4 with: switches: -azvr --delete --exclude=".gitignore" --exclude=".git" --exclude=".gitea" --exclude="data" --exclude=".env" path: . - remote_path: /home/${{ secrets.USERNAME }}/minecraft-server-example-folder + remote_path: /home/${{ secrets.USERNAME }}/minecraft-server-ironveil remote_host: ${{ secrets.HOST }} remote_user: ${{ secrets.USERNAME }} remote_key: ${{ secrets.KEY }} - name: Stop container - uses: appleboy/ssh-action@v1.2.0 + uses: appleboy/ssh-action@v1.2.5 with: host: ${{ secrets.host }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} script: | - cd minecraft-server-example-folder + cd minecraft-server-ironveil docker compose down - name: Start container - uses: appleboy/ssh-action@v1.2.0 + uses: appleboy/ssh-action@v1.2.5 with: host: ${{ secrets.host }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} script: | - cd minecraft-server-example-folder + cd minecraft-server-ironveil docker compose up -d diff --git a/.gitea/workflows/publish.yml b/.gitea/workflows/publish.yml new file mode 100644 index 0000000..12a41d3 --- /dev/null +++ b/.gitea/workflows/publish.yml @@ -0,0 +1,29 @@ +name: Build and Publish Docker Image + +on: + push: + tags: + - v[0-9]+.[0-9]+.[0-9]+ + +jobs: + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: ${{ secrets.DOCKER_USERNAME }}/ironveil:${{ github.ref_name }} diff --git a/.gitea/workflows/restart.yml b/.gitea/workflows/restart.yml index a69e5af..ed0df00 100644 --- a/.gitea/workflows/restart.yml +++ b/.gitea/workflows/restart.yml @@ -9,11 +9,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Restart container - uses: appleboy/ssh-action@v1.2.0 + uses: appleboy/ssh-action@v1.2.5 with: host: ${{ secrets.host }} username: ${{ secrets.USERNAME }} key: ${{ secrets.KEY }} script: | - cd minecraft-server-example-folder + cd minecraft-server-ironveil docker compose restart diff --git a/.gitignore b/.gitignore index 3f8be5f..20c3fa7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -data -.env \ No newline at end of file +.env +world +modpack \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3ab24c7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +# Use an official OpenJDK 17 image +FROM eclipse-temurin:17-jdk + +# Set working directory +WORKDIR /server + +# Copy server configuration files +COPY configuration/. . + +# Copy all modpack related files +COPY modpack/. . + +# Make run.sh executable +RUN chmod +x run.sh + +# Expose the default Minecraft port (25565) +EXPOSE 25565 + +# Expose the default Minecraft RCON port (25575) +EXPOSE 25575 + +# Start the server using run.sh +ENTRYPOINT ["/server/run.sh"] diff --git a/README.MD b/README.MD deleted file mode 100644 index 8669ee4..0000000 --- a/README.MD +++ /dev/null @@ -1,26 +0,0 @@ -# Minecraft Server Template -This is the minecraft server template that you can use to create minecraft servers. It uses the itzg/minecraft-server docker image to create the server within a docker container for ease of deployment. Documentation for the itzg/minecraft-server image can be found [here](https://docker-minecraft-server.readthedocs.io/en/latest/). - -## To run this server: -1. Use this repository as a template for a new repository. -2. Fill in the neccesary variables in the docker-compose file. -3. Copy the .env.example to a .env file and fill in the neccesary variables. -4. Run the server using `docker compose up -d`. - -## Deployment: -This server can be deployed with the provided gitea pipeline. Add the following secrets to the repository under actions -> secrets: -- `HOST`: The IP of the server. -- `USERNAME`: The username of the user. -- `KEY`: The private key to connect to the server. ( Found in 1password ) - -A deployment is automatically run when a tag is created. The tag must be in the format `vX.X.X` where X is a number. - -The pipeline `production.yml` will deploy the server when a tag is created. - -Change the directory ( `minecraft-server-example-folder` ) to the directory where the server will be located in the server. This directory must be defined in both the `production.yml` and the `restart.yml`. - - -## Important Notes: -The data directory will be created and populated with the server files the first time the server is run. please do not add these files to the repository. - -The current config is set to use Fabric, if you would like to use Forge or any other modloader, please refer to the documentation stated above. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..6aeb6a7 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +# Ironveil minecraft server + +To build this image you need: +- The modpack files: https://www.curseforge.com/minecraft/modpacks/over-stars/files/7566405 + +Build the image with the following command: +``` +docker build -t ironveil:{TAG} . +``` + +Replace {TAG} with the version you want to use, for example 1.0.0. + +To run the container, use the following command: +``` +docker run -d -p 25565:25565 -p 25575:25575 --name ironveil ironveil:{TAG} +``` +An example docker compose file is provided in the compose-example directory. You can use it to run the container with docker-compose. Make sure to adjust the volume paths if needed. + +Publishing is done automatically on a tag creation. \ No newline at end of file diff --git a/compose-test/docker-compose.yml b/compose-test/docker-compose.yml new file mode 100644 index 0000000..4b4da58 --- /dev/null +++ b/compose-test/docker-compose.yml @@ -0,0 +1,10 @@ +services: + ironveil: + image: ironveil:latest + container_name: ironveil + volumes: + - ./world:/server/world + ports: + - "25565:25565" + - "25575:25575" + restart: unless-stopped \ No newline at end of file diff --git a/configuration/eula.txt b/configuration/eula.txt new file mode 100644 index 0000000..02dccd9 --- /dev/null +++ b/configuration/eula.txt @@ -0,0 +1 @@ +eula=true diff --git a/configuration/server.properties b/configuration/server.properties new file mode 100644 index 0000000..c8a4dfc --- /dev/null +++ b/configuration/server.properties @@ -0,0 +1,57 @@ +#Minecraft server properties +allow-flight=false +allow-nether=true +broadcast-console-to-ops=true +broadcast-rcon-to-ops=true +difficulty=easy +enable-command-block=false +enable-jmx-monitoring=false +enable-query=false +enable-rcon=false +enable-status=true +enforce-secure-profile=true +enforce-whitelist=false +entity-broadcast-range-percentage=100 +force-gamemode=false +function-permission-level=2 +gamemode=survival +generate-structures=true +generator-settings={} +hardcore=false +hide-online-players=false +initial-disabled-packs= +initial-enabled-packs=vanilla +level-name=world +level-seed= +level-type=minecraft\:normal +max-chained-neighbor-updates=1000000 +max-players=20 +max-tick-time=60000 +max-world-size=29999984 +motd=Ironveil +network-compression-threshold=256 +online-mode=true +op-permission-level=4 +player-idle-timeout=0 +prevent-proxy-connections=false +pvp=true +query.port=25565 +rate-limit=0 +rcon.password= +rcon.port=25575 +require-resource-pack=false +resource-pack= +resource-pack-prompt= +resource-pack-sha1= +server-ip= +server-port=25565 +simulation-distance=10 +spawn-animals=true +spawn-monsters=true +spawn-npcs=true +spawn-protection=16 +sync-chunk-writes=true +text-filtering-config= +use-native-transport=true +view-distance=10 +white-list=true \ No newline at end of file diff --git a/configuration/whitelist.json b/configuration/whitelist.json new file mode 100644 index 0000000..f707add --- /dev/null +++ b/configuration/whitelist.json @@ -0,0 +1,4 @@ +[ + "player1", + "player2" +] diff --git a/data/.cache/curseforge/cache-index.json b/data/.cache/curseforge/cache-index.json new file mode 100644 index 0000000..e80b142 --- /dev/null +++ b/data/.cache/curseforge/cache-index.json @@ -0,0 +1 @@ +{"operations":{"getModFileInfo":{"1250591,7575878":{"filename":"14ef06dc-1a65-4611-87d6-c61eea6c8b00.json","expiresAt":"2026-02-12T19:47:13.246183510Z"}},"searchModWithGameIdSlugClassId":{"432,over-stars,4471":{"filename":"3fa6caf4-40e9-4b41-91b0-6d44997753b0.json","expiresAt":"2026-02-10T20:47:13.225100126Z"}}}} \ No newline at end of file diff --git a/data/.cache/curseforge/getModFileInfo/14ef06dc-1a65-4611-87d6-c61eea6c8b00.json b/data/.cache/curseforge/getModFileInfo/14ef06dc-1a65-4611-87d6-c61eea6c8b00.json new file mode 100644 index 0000000..29b205b --- /dev/null +++ b/data/.cache/curseforge/getModFileInfo/14ef06dc-1a65-4611-87d6-c61eea6c8b00.json @@ -0,0 +1 @@ +{"gameId":432,"fileName":"OS Serverpack v5.5.zip","gameVersions":["1.20.1","Forge"],"displayName":"OS Serverpack v5.5","sortableGameVersions":[{"gameVersionPadded":"0000000001.0000000020.0000000001","gameVersion":"1.20.1","gameVersionReleaseDate":"2023-06-12T14:26:38.477Z","gameVersionName":"1.20.1","gameVersionTypeId":75125},{"gameVersionPadded":"0","gameVersion":"","gameVersionReleaseDate":"2022-10-01T00:00:00Z","gameVersionName":"Forge","gameVersionTypeId":68441}],"downloadUrl":"https://edge.forgecdn.net/files/7575/878/OS%20Serverpack%20v5.5.zip","fileDate":"2026-02-04T16:40:45.800Z","exposeAsAlternative":null,"modId":1250591,"modules":[{"name":"mods","fingerprint":491038856},{"name":"scripts","fingerprint":2316932191},{"name":"run.bat","fingerprint":4191847801},{"name":"run.sh","fingerprint":3076618596},{"name":"user_jvm_args.txt","fingerprint":1298710358},{"name":"config","fingerprint":733434366},{"name":"global_packs","fingerprint":738911182},{"name":"kubejs","fingerprint":2552288896},{"name":"libraries","fingerprint":2766827340}],"dependencies":[],"fileFingerprint":2501413001,"releaseType":1,"hashes":[{"value":"718e65a9d3e5c2388ca899589f9b857537c68f3a","algo":1},{"value":"11e309d6a626309c3b5f279bc2f987f8","algo":2}],"parentProjectFileId":7566405,"alternateFileId":0,"id":7575878,"fileLength":792979618,"downloadCount":1,"serverPackFileId":null,"serverPack":false,"available":false} \ No newline at end of file diff --git a/data/.cache/curseforge/searchModWithGameIdSlugClassId/3fa6caf4-40e9-4b41-91b0-6d44997753b0.json b/data/.cache/curseforge/searchModWithGameIdSlugClassId/3fa6caf4-40e9-4b41-91b0-6d44997753b0.json new file mode 100644 index 0000000..b6c6612 --- /dev/null +++ b/data/.cache/curseforge/searchModWithGameIdSlugClassId/3fa6caf4-40e9-4b41-91b0-6d44997753b0.json @@ -0,0 +1 @@ +{"allowModDistribution":true,"screenshots":[{"description":"","id":1331753,"title":"Mossy Village Sunrise","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/753/2025-04-26_12-09-01-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/753/310/172/2025-04-26_12-09-01-jpg.jpg"},{"description":"","id":1331744,"title":"Village","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/744/2024-09-18_21-47-01-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/744/310/172/2024-09-18_21-47-01-jpg.jpg"},{"description":"","id":1331752,"title":"Remote Cabin Structure","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/752/2025-04-25_20-38-12-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/752/310/172/2025-04-25_20-38-12-jpg.jpg"},{"description":"","id":1331740,"title":"Quest Book","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/740/2025-04-09_16-42-51-png.png","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/740/310/172/2025-04-09_16-42-51-png.png"},{"description":"","id":1331750,"title":"Void Dimension","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/750/2025-04-18_18-24-59-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/750/310/172/2025-04-18_18-24-59-jpg.jpg"},{"description":"","id":1331751,"title":"Pirate Village","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/751/2025-04-25_20-41-16-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/751/310/172/2025-04-25_20-41-16-jpg.jpg"},{"description":"","id":1331745,"title":"Beautiful Terrain","modId":1250591,"url":"https://media.forgecdn.net/attachments/1331/745/2024-06-30_14-44-25-jpg.jpg","thumbnailUrl":"https://media.forgecdn.net/attachments/thumbnails/1331/745/310/172/2024-06-30_14-44-25-jpg.jpg"}],"classId":4471,"latestFilesIndexes":[{"filename":"Over Stars-v5.5.zip","releaseType":1,"gameVersion":"1.20.1","gameVersionTypeId":75125,"modLoader":1,"fileId":7566405}],"dateCreated":"2025-04-24T12:50:30.137Z","logo":{"description":"","id":1384614,"title":"638897969899353302.gif","modId":1250591,"url":"https://media.forgecdn.net/avatars/1384/614/638897969899353302.gif","thumbnailUrl":"https://media.forgecdn.net/avatars/thumbnails/1384/614/256/256/638897969899353302_animated.gif"},"links":{"sourceUrl":null,"issuesUrl":null,"websiteUrl":"https://www.curseforge.com/minecraft/modpacks/over-stars","wikiUrl":null},"dateReleased":"2026-02-04T16:40:45.8Z","id":1250591,"categories":[{"gameId":432,"classId":4471,"name":"Adventure and RPG","dateModified":"2015-02-16T15:58:24.98Z","parentCategoryId":4471,"id":4475,"iconUrl":"https://media.forgecdn.net/avatars/14/480/635596775049811800.png","slug":"adventure-and-rpg","url":"https://www.curseforge.com/minecraft/modpacks/adventure-and-rpg","displayIndex":0,"class":false},{"gameId":432,"classId":4471,"name":"Magic","dateModified":"2015-02-16T15:34:17.873Z","parentCategoryId":4471,"id":4473,"iconUrl":"https://media.forgecdn.net/avatars/14/474/635596760578719019.png","slug":"magic","url":"https://www.curseforge.com/minecraft/modpacks/magic","displayIndex":0,"class":false},{"gameId":432,"classId":4471,"name":"Tech","dateModified":"2015-02-16T15:35:53.467Z","parentCategoryId":4471,"id":4472,"iconUrl":"https://media.forgecdn.net/avatars/14/479/635596761534662757.png","slug":"tech","url":"https://www.curseforge.com/minecraft/modpacks/tech","displayIndex":0,"class":false},{"gameId":432,"classId":4471,"name":"Quests","dateModified":"2015-02-16T17:06:53.797Z","parentCategoryId":4471,"id":4478,"iconUrl":"https://media.forgecdn.net/avatars/14/487/635596816137981263.png","slug":"quests","url":"https://www.curseforge.com/minecraft/modpacks/quests","displayIndex":0,"class":false},{"gameId":432,"classId":4471,"name":"Combat / PvP","dateModified":"2015-02-10T21:12:37.56Z","parentCategoryId":4471,"id":4483,"iconUrl":"https://media.forgecdn.net/avatars/14/313/635591779575605594.png","slug":"combat-pvp","url":"https://www.curseforge.com/minecraft/modpacks/combat-pvp","displayIndex":0,"class":false}],"slug":"over-stars","gameId":432,"summary":"Challenging Tech-RPG Progression Pack, Unique Quests & Storyline, Tech Ages, Ferocious Bosses, Detailed Worlds, Limitless Adventures","latestFiles":[{"gameId":432,"fileName":"Over Stars-v5.5.zip","gameVersions":["1.20.1","Forge"],"displayName":"Over Stars-v5.5","sortableGameVersions":[{"gameVersionPadded":"0000000001.0000000020.0000000001","gameVersion":"1.20.1","gameVersionReleaseDate":"2023-06-12T14:26:38.477Z","gameVersionName":"1.20.1","gameVersionTypeId":75125},{"gameVersionPadded":"0","gameVersion":"","gameVersionReleaseDate":"2022-10-01T00:00:00Z","gameVersionName":"Forge","gameVersionTypeId":68441}],"downloadUrl":"https://edge.forgecdn.net/files/7566/405/Over%20Stars-v5.5.zip","fileDate":"2026-02-02T15:06:59.200Z","exposeAsAlternative":null,"modId":1250591,"modules":[{"name":"manifest.json","fingerprint":657962886},{"name":"modlist.html","fingerprint":1635060266},{"name":"overrides","fingerprint":628719641}],"dependencies":[],"fileFingerprint":1274657669,"releaseType":1,"hashes":[{"value":"35b076fa0c2fe99e1b5e83dd6239ba0f3d2ba52f","algo":1},{"value":"7a61b9a804b7514f94c13d9445b428b7","algo":2}],"parentProjectFileId":null,"alternateFileId":0,"id":7566405,"fileLength":79460179,"downloadCount":3528,"serverPackFileId":7575878,"serverPack":false,"available":false}],"dateModified":"2026-02-05T07:41:11.74Z","gamePopularityRank":6271,"thumbsUpCount":0,"name":"Over Stars","mainFileId":7566405,"primaryCategoryId":4475,"downloadCount":265023,"status":4,"authors":[{"name":"NitroRiced","id":102638458,"url":"https://www.curseforge.com/members/nitroriced"}],"featured":false,"available":false} \ No newline at end of file diff --git a/data/.rcon-cli.env b/data/.rcon-cli.env new file mode 100644 index 0000000..5238044 --- /dev/null +++ b/data/.rcon-cli.env @@ -0,0 +1 @@ +password= diff --git a/data/.rcon-cli.yaml b/data/.rcon-cli.yaml new file mode 100644 index 0000000..1986cf9 --- /dev/null +++ b/data/.rcon-cli.yaml @@ -0,0 +1 @@ +password: "" diff --git a/data/eula.txt b/data/eula.txt new file mode 100644 index 0000000..9711d34 --- /dev/null +++ b/data/eula.txt @@ -0,0 +1,4 @@ +# Generated via Docker +# Tue 10 Feb 2026 07:47:11 PM UTC +eula=true + diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 2b38d30..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,30 +0,0 @@ -services: - minecraft-server: - image: itzg/minecraft-server - stdin_open: true - tty: true - ports: - - "25565:25565" - - "25575:25575" - volumes: - - ./data:/data - - ./whitelist:/whitelist - environment: - EULA: "TRUE" - ENABLE_RCON: "TRUE" - RCON_PASSWORD: ${RCON_PASSWORD} - RCON_PORT: "25575" - MAX_PLAYERS: "69" - ICON: "https://example.com/icon.png" - TYPE: "PAPER" - VERSION: "1.21.4" - DIFFICULTY: "normal" - MEMORY: "2G" - INIT_MEMORY: "2G" - MAX_MEMORY: "4G" - SERVER_IP: "" - ENABLE_WHITELIST: "TRUE" - OVERRIDE_WHITELIST: "TRUE" - WHITELIST_FILE: /whitelist/whitelist.json - MOTD: "A Minecraft Server with docker" - restart: unless-stopped diff --git a/server-icon.png b/server-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b4f212f93019a6f392adf97dbebecdc7747d33c GIT binary patch literal 9073 zcmV-%BaYmOP)y9RMN?gEtxk1y6*O2}L=F$cXTO|+rI8-W%Bx^uYlBUn ze}ctlAHvGk8X6iLgbxW%@elCt^1kD=-FNZ)`I*An>I0XfqcLO3IC%K@fA0|xwE558 z@uvouKde9F7ZM6Fn*+bjU2yQgVc76(vEZApb!}{HB!Bke)YR0Q_io)BqH2|)q@)DN z$*E8<3P8<5;?b4(V#{T4G#OM2Dq-v3ge|i^LFku1(LDf%qlJD02cW7_0HLT6KX2I7 zk*?f78!tcqme%4Q_RH$UQhYoAYn(lP5Ci;tASf%u;sdAuaGif@fFL_7hOKLafZn~) z*eJx3Wh)@PwH3QBKf&>&+~0jRE-tQLYRZcTJUu;}ID8Oll>%%HEd&JkLQ9K>lA>ZP z53$3(^hR(D3{g{A0RvqFd>!h6uZ~`agOdv!UEL596GLM*LW{$Jg_RX}x;i*@>Xasn z#ZvvAA*KiWF`oju5U4 zO;*mZ@bZN|!{A}eBb+{XlFu?XuWXxCG5D^XOAA;xD|6Y0|NuJN~K6jN}|t= zVQp;nT0V_byX16H=*x@sqhXAfQ5-MmVf&_dJPU&tzWl>`^6Wt zRg7AJ?AJN4u&_j@PMx4{sE4$)G^8XX!a&amYz`Y?veD2gAg~1Xn0#LqkKr zh8iqNfGoBqWJXrlxNQ%NP0b(?3(?xDgtM0?{I!69zP)hd=rQyhI1((LAu=;E;GnC8 zwBjP;0#Y_?HHFYq^ZeJ9?kpeJCcTT#SyLI-|U(5FMQD zp{G)z$CO#HFxCU7t^$p69h|svk+Oaw?6oy<{QL39E)zmQhGMBT$vw3oXEgBq@goHF z9S9vVRQ!W`aCCDeZ&8D9YY#zH1vGg&$SWwJ@W@9)s~p<8dI%lR2X=%=x093TJ(@6X zX+ph$E~<(uDJOxv3FyJs!HmzQ1lvZ;j(;BreQyJ_y)6Cmo|HQ$k9AJZ$U~({A3mLZ zP*x{|Z)bl*O#F;?NsgOm&Z0*LkqkpE4!q1Pp`*`* z%F+eLPaOZ?^?dLH7cN{F8g=IM^_Mvr_^PWXuBQ}1PT9VXojFp=YT)JLgV9}VDd9=L z($NQa`Y<%NM+U{Im4!Jvc5nfsWDvRddr0Lh=<;;INSZNk(-yGgQZ&}r3He)`@l^`kss z;)HQbLv0=EYJ@PN%-m8}0(%pEN{GR@6qAIV-;74Rumw7r9B_<`A!-Gz_>RycVzheo zDlA>R7*8JDhOdhQG@2SAY7s-*(gMjPwdmEWC)Tc91si)iB2Jx&%-A6-BMmW$aj-PA zf|s=!PCrjaA4_uxnwwCose=lUn3Am?w8@hUO^tBo%()NR)DOD(+_`f<+`o5cW5V+| zn348uMeKK0iu@8Kw(W4np)%#lKa~_*u$7Yz?h)0sGu08M5r_= zSsh-t8hmdTbR$xA^zuD?HhU(Fw0YRP?*Q@mDJae_KvR7K5gG|<1a&B^twA3bKF+2V zKun%uNXW2b-yY13+<9a}E|5tLrpaBCJU1E5JG&w&nA7tg^ zVB_?0Sh8(Ld#3JaqJzWR)*vf64TrABVC?XL;91!s>tzPQ!^07um;_4-121oHWWPv- zGv5e}<#~`9J44FSf}x=iQV7R861r3tm!erJ23sLVT+SO1t3g+PA6!XDM`lhQoJ@7G zb;~A1?mPwp0I=DVV~H@yC_&!5ee1n9_787dyX3p)OV@4gQJh~K;OOR<`smuVXL1gw zhZdIwMxlZHqI~?a{%7>{b!!g=4@WDMQv%bsu|;Zf7X59ESH-oMF>wO4^>itlOWSwo z+^Mq|Psy>at{$d}8dQ~(gX`Cy5JZLskqCAcCbaW)5KsYCR8bB=WgYaixQH*Sre(Ik zNsHJKW89{%CKvy( z^Q7YkF~NlkzGgh#ohW`y-3E=AT(ECc5MyO;kMx(>g#R`usgU4gQ6nskdGI0N_7B?)sZV1BSRic^|)3OW-h2c zxNZp(-m^OF7R}<$EJgq@!jmnNP3wCMq3Xm zmKx2~_0ZPVhM>BZO5HGAi8=>IT@^eiloAUnVNb?YYiK~Dm5M#$2BnlobXhD2o28U* zjBx1MEp%~r29JnOQGF{W2D)SQg}YEvUEt>IfU>G`SQ#4Q)U3Cr*Bt0cOwof^l%eF_r;W8@YTfUBj6s?<1w zK`wG?S}dUUWx7ds>9@Yt}VaFNJW81l;*R$^kJyP&Kz_u>5q*tviIhZ$h%l&KFry*>M0 zI=s7i>%y<}Vxps2x)jUWWQ4jV5lUrp%pE;|N>3onNRH+EFTu;f3^(Flz|_JCi{?&1 zQc4<3>|Ma+=)=s$2*O4Y?UozGZzXD~svv$Dix!q9T!Q;TlaiN}lLJ(8;O?V)XraH| zZR}xLmx=Q^RWOu@;qT{%jv+m8?ED2x3-&{DGY7%;7C7_hG2AJXTE#8UAoy*Ps`1(Q z5zM?DC*;#+%+$Jb>-PPVQBeavC$Ni(ER>>Ij{bCM<2^%UZl&Z@sapT%m%>U*q6qS}>_nNJcP`(KEaYikR2Tw~{ zDA8nvLWBkl8_Xqntp-#L<`+S!kinQ>cJIE^h`w?XY*Pm;Td@*9@7(v{dccSgBNRN2 zmgdT7{ZT7!#m?Plv31QNsOtpKrk!a~bMfNgE#x(8!=||a4HTxd}{&6FB>LQ>GW;?AepV7#k5jZVI`#m=NJL#6lqqtf|P- zGe-Ken;7!RM4UKt3Eq4js?^%3C4nT=(gfvX1Rb|fteiiZJgSZerzSMiO7I-LFm=L2 zZ2V>_5^^f>JhuujGg6faNy(fK@__ImgBVRJXBLKa#QI|wph-ACBD5Q%4fRxjSVCoH z3Ug^Ap0HeD-&Bk@1c9|e3B0`>kd|G6?fZVg;%^tDprRJ(c?BS^1cwkitXo$Ya5SK! ztp%!k$RjkMsnSHVM2OVfJmi;DlMh_Opdh&cKRtfru6$f0K!N_fR<0SKxI;1=354F@Y4HGKPgpA}>#h%SZ** zXm@WlEuN(H_8%VY6o?*dmNze4tm5)CDcky@ zFeMRXA|=XXG8#k$xvY_5*%>y-5W9E7 z%9She<@|5lCQqJR@UMB`cMY&$!EDE>qOu|vQgtO6PueR#j+GM{wMd|3w_ z5Fu(tY)cD9kVIBW$*Y9Xfm%|H;R6SwkmT>o?0o3hIFY++P^~XRPW~IH86q*CL?Geu zJrq&KZ&k|Cze{J-k&3I^ETLq^MO}U|WJHFnJ$$L!Bz><(5E5da!#S0g}rt(@=mJd6PR=C)iLTc)X*xc6`JUqf>@#4jW?`43t zo4R^BGny(jI-78jUeOFkzBQG+J~$M84}s3k@Ut~VGAY2twapmTvlFyPn>+L<8GDw0 z0hN|65>j(O@C#ilYv}14ASWjmY~m0k_+sbMrFit@5q6z84Hk{DZuwGVrzN3TrlNj8 zB7%DQLrS_pdTIu06bgL(*;rH&`uGuy?tl6U^ZIu|W??ZB(sN*G$wLqS-o!+kk)M~3 z@q8=6qv zTn}3+SqrED(KaHCpq@b!B^sWE5p2~hcw8mN$}u4*Y*fL?%^kzWj7NOJ3%t(BMrhxD zsIMtSe&$OmS~Rfp^kqKZp`Vp527EdO3s**>Z$~GRsj2hxBCp-$ z*c9Wv_*~o&$S~ZaBfOo>$lV1nurwo#(uRMRK%6{%7TT0J8N!3{qefxTj{Vg2;etcZ zC03}=Kfn_fL~FCD#Fi7GakS-wPyGcUktwOH8M<5!uE)fpNlkr2Up}7X)Kjz*PO)0> z!-TPji+zSnB2NC^t`L<{HEC=Q4v8=!gTuaXx3`NAA2aFI2l0Tmn}1&NEh9)vppvu< z#%ea)z5I}uTLACQjwndW!L__fLIW*m6Vy%cp{kDG8Cj{XF)+v#3_(vDWWFJI z#sQ=RU5ru+ODjGS^UI-6^}DdK0bD9#7R;Q4^XJc@tD6gwDSy-uG2+pC{W`d|^M+Ci zfvifRx@5pE9O_C{G@w<7`V|x+!yV12(aJ?iWg|kn5mMa03W<$JyBz21*9ptFZ2xd3 z*k*uho0c$_&R(X>t3-EiA0&|+?L-iD;b|s3c`{g$C~>!53mr(pawa@(b`6Gv1Pm4x zBUZ|0JR;GZ)tdByUCTn@V(Yw?)XvPjTefX?T*T%A(>&kdulU zwl>&g6orxnF&W6lkcg3sPrHK4sO8Yl&qV^E3QH=7kDdau+D1IBmtk6OKQe4Fob4P? zUM_&Aj|UkUSQQ=n;Ra|b&39QfdrE;B-xEb;B}7It;bL!#7!pIPTXdjDI~mc%3s*>! zXHiR|hY<%!jZy@5?L~Y(7aC#(2`6m4Aw}20)*L!q4fwjdksQWBpTXg{bLtR!g@mAz z_(MIhOAU%~K|vnTS^;FVt5WJ6R1-w9$de4rETB(69Xq-r?s+nt(SR2X43u15d}=Af z<@8EOh&nrRRp>w-lobDhkj1CH2O%N@EL^;{n^)g~i60aK#MoH#J`GbRro6(W?w&Xm zmrX9MhLsH;<$@~W0s4?p*5;8StRjsr*jg7VYiEKlE%dU|$FqcF^a<*OOON7_N?qDc zq!SDrGzh`HyW;ut7icYbiLfct!KGYscFS(q2L~a8nxMtGg|IX?#hsVw=o#1({&Zd- z_EjbZ^z4j;qADta6wt0IK$?&gWlG4><`yVgMZ_@xb9-}Cl3ZtIsE;4V_Q!_kXP7m6 z4(2Rg#wHTfR=fY(^{3j|ARl+e$KMOSgul_xQnBFsh1k4hKjzLJi(3@0PE@By#U-N? zxv!qM7UeuMh^VFQ#Z#lAq8<~+52Z|Aj9t-}F}Pbd^z0c-jaFS~QC0US>Ihr{x)B9d zATBNzc3pxYB`(p>hBj68C?>B6>)8utx*AByc!SA-_Sl;#Ace>oe0dYBdkw;o-G?!( z19_L59eVcr6o=1U!myzOapvr4MD+5)%St8kl45cGN%Dt>K%1!s_;@gN)P3n4(jSG{ zuh7ZS951V=d!y7qg|HGq9sS^7#lzXSJk&H)kQkwhUR3tlk?i}jw1SFMDQu|67n`34 zbLtUDTWT=%^EuF=BsTwt6|lFlAP?X|AXH%O)CgoXY2tP2ePWUdsEO};nOhS~%28C= zga{84nEERmm)12r``%gY1^>E?rO-Fib)A;irachQX+qGslnXe!BvIg!{j z(ivNtt8njCA=ULZFs9zVgPkSn34!!9L5)@khIVnrqKnVb$;1Ew+y>Meb|6Oh27KZH zXX0M4#t!e#6y_FT%a@;Ga^wy=&GI7_tcd(L15E7QjbSrNN>YvBQ(e!}prXX9^YVlT zcYcs)85=a#RG_zqBP?7xLSCGP!qR38?AH&kV(-G*$`m%foe}fo2@D+FsNyR`7lI^x zVuc0NIxDZJ#@vy8p=5JW)+j?O@d0as*{G-sbTUK=yEgr=rW{_r9r5~gHasc!G*V5K zNH9ES)KHwga|@Of>$fuNz$Zm`?9kAr(z@pLlA78LVp5o81e-DvQoKU?Vc}1!Kh6MA zQBfMpW{y#=pEsQ{vj$44o2ZAM$lT8=Wj}uWSaaj56$&1epSFbSm(!AAu4#x+S7#{8 zlVRrIi(UhJBbsFJh(29#uS7r{;7&w~jY$93$GHpVarb#D2pnKdXM~o2IfXO>E>fR9 zKufFoA1W{D5k98IbPhp)dogX=peHVoAtls#8baQcCuQK(y(e}YIHW;IPQ7qMUq*w7 zStn;cS_x9Ok!ZSd-yz*$!-oCgd8R*2f+;B}W>X@D)`oZoqU)gkXfDcBmlwQd>O~^9 zRY1Qbss_ROMydt4)<$sj@Wb&V$Ei8NK?GkDMWpS8`uic_!F@Ulqz_AdW5m8GfxCwf z`u6XQ66*iu(TR>)DuRrSj1Vz299y<*gf$(!2(Yq5NmU`Z7B&c^Zcubm7OZWZiGRF= znYA%KA2*&T@-vV{P$!att*w=>UyUifz)lC)V%VkIPY)hx!Bt-u$CZ z(VrS1YVXfKKD!*fUaFv2^b7uZ+4en)+g@~d>o5D|b@fGQ&mOI37&0zN-?kZD=+F{XvKTRHGOk{}L|tNO?~}Q z&@9bEMzsvbvx*TJ`4iTy-2iu<2Ksg6<6g5K-V~Kni`)RVB$B?&&P2$du__H7``IU- z&tC8C-T7|Y{Gzuky;=S;bI6T^RQ#}g-_8Dm!iRp80oop#80^o8iM#~$3p=?aa_yA1 z&t{ArakQf*=d)6QKvhmB6>94mh_0%UTipnIDr6ia#P+oGq1M-dn*|>&r8&@6x1v(X zK{GM9)`}AJ4($a`I%rXnm(||LxF44W7rr565;bf{7>TPBV_u*Oj=m;Fr^7;^xd9$& z*~6R?s-UU_B2tMg%xvK9Xs2putk5WtYh_%$bB2bO(5^Vp>e2ja3z-rak6!$SQTi#9gjzqoh$g>%;r7m~!yRkGGJ%GAqr>FApw zsl{!Ft6B-Fq+%rkC`1G$g|Ii*CNjmw)VZ^%`9W=Qr5H+*$^|5o7YeFTO5Nh=9_Cnd z@*0};?4TyL+16DKFf)cn2M=7#cm+O{<<^$AKg!Z#ey%4{v~}-^IZlB=dy}G~tb)dj zsd~H913m1S4qZc6?>Khir$5^L_cB1+O-sj(Y+ifr3N`!xaYaRq))+J9f@))!A7eya z;d(mKvN*1Y)pneg+TW_GJ5dlZDrC0m)43oih6Z}!%wr-uo_`K#Bs4F$I?cTE4L zOy9r=okk8t|C!7GZ6m)LH?m^qxhwoXTl{+);FF#~O!Tv)cY`oYBvH#qwWOfHZp^5# zQfX5Q9v0WOf1i->z_Q{_bX6J=rt)SbvR>!Go0=C1FY_>LU?1!{dK5jqeUX^{3SI&J zqy;G3^@48x-lX?skXG0od2e2mgIK_X5WtyOrXO{Y*>oyo-qQ8$*}lzlr+B-n#VQFd zrsVTky1MP>6n}k93h&39y7}-gJ^U|kXnX1OA$?RwZar>4oY;1y#@;dy2pLjKJ8rOW zWG`W5lL8Ko?pxO#KlyFj_dor(fDu!tx2{H%Qd}bll~}mr9}SLg!~3M$ z>nr>!TUgj|Jywg1BF~Mx9@HUtSkl`$4h{)sZpX&`<@)~ehPD@Gp4=?-p8OpN^8dKj ze?7Hw@%CdjZNG13#{m(R@&+qbu8;IHRR zUq8@4@W*v~4?#;MLp~vfgMl8ZgiURS<6xw(4K6|8G+QH7x^y}oxp~*rw&%93TDo1; zTs8kj^d&qlXkwk+xxr@qSBu(re8JR+@@>a1+qN5h#+ZUthofBI&T;G9aguL#pZm*W z`0r(aw=ey@f9Lh!GhgqH_IB$OlyzeLvU5`wuNgO_dk~|jD#rbyn%}(tt4X7oou@9a zM5*z^^^L9Wef!mC(l=ENxVqzjPKy!K#ma`*0009lNkl7J}9+n9D5Nwwu-ZCSw9u&AasI@G4mYX+`~J&M}gS zCDUzuL$)rMGKtxC;?!^EwPsj%rlOUD9{t1SPg=Nq=iB9;pEpiDcGo%f;yKest>1I> z;>VcbqYdzOu*fleVj`m+hra#$_SwCT`*s~JDybJzi!6^z@ktE+AJ@wHUob0n>}Sb~ zUk7kx?EKH?Ocp8GI@q~(xtWHoRj@AK`}&-*qnSPDFT9)AFKgF^(9TLG@03Y>YqKjFZ*_8OdWl(=E%`^3!WA}lsS6y#&0$z@#f9IuHoS+ z|GLmCYkpWca@nTejQyd;_}d|?l>h2Y?$D!0FYf>K`>yZVG-24B zAI^N}qJMq=-!?$hu2tQ~%=_uR4koXdKbu+kzp=b+600T*R4J_;)vGq|f7iR8J8?9# z`}A)O@J9>GxEbZ+8$RZD_5SxY%HK8s{f7u6e}Dg`_Ze_-CpYGHdj7jHmy8TzWGZ89 zxqkQEXQ3WWOiXssd(Df880XhX_I>8?ulKyyKp*qs-+N~7#gt-mJKwuy`6A}q)f@g}^ZJhs)MgM;kq8v}{97{nwXu#JJlJ{a%$YC#PZ|BM-t!+d jz+X+~zw!P5cmw<|00000NkvXXu0mjfZwhFT literal 0 HcmV?d00001 diff --git a/whitelist/whitelist.json b/whitelist/whitelist.json deleted file mode 100644 index 2af9c94..0000000 --- a/whitelist/whitelist.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "name":"zardzul", - "uuid":"9f0f315c-880d-48aa-a786-66ba83dcfb28" - } -] \ No newline at end of file -- 2.52.0