initial creation of new config type
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
docker-compose.yml
|
||||||
|
Dockerfile
|
||||||
|
.env
|
||||||
|
.env.example
|
||||||
@@ -1 +0,0 @@
|
|||||||
RCON_PASSWORD=""
|
|
||||||
@@ -16,31 +16,31 @@ jobs:
|
|||||||
path: .
|
path: .
|
||||||
|
|
||||||
- name: Transfer files
|
- name: Transfer files
|
||||||
uses: burnett01/rsync-deployments@7.0.1
|
uses: burnett01/rsync-deployments@8.0.4
|
||||||
with:
|
with:
|
||||||
switches: -azvr --delete --exclude=".gitignore" --exclude=".git" --exclude=".gitea" --exclude="data" --exclude=".env"
|
switches: -azvr --delete --exclude=".gitignore" --exclude=".git" --exclude=".gitea" --exclude="data" --exclude=".env"
|
||||||
path: .
|
path: .
|
||||||
remote_path: /home/${{ secrets.USERNAME }}/minecraft-server-example-folder
|
remote_path: /home/${{ secrets.USERNAME }}/minecraft-server-ironveil
|
||||||
remote_host: ${{ secrets.HOST }}
|
remote_host: ${{ secrets.HOST }}
|
||||||
remote_user: ${{ secrets.USERNAME }}
|
remote_user: ${{ secrets.USERNAME }}
|
||||||
remote_key: ${{ secrets.KEY }}
|
remote_key: ${{ secrets.KEY }}
|
||||||
|
|
||||||
- name: Stop container
|
- name: Stop container
|
||||||
uses: appleboy/ssh-action@v1.2.0
|
uses: appleboy/ssh-action@v1.2.5
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.host }}
|
host: ${{ secrets.host }}
|
||||||
username: ${{ secrets.USERNAME }}
|
username: ${{ secrets.USERNAME }}
|
||||||
key: ${{ secrets.KEY }}
|
key: ${{ secrets.KEY }}
|
||||||
script: |
|
script: |
|
||||||
cd minecraft-server-example-folder
|
cd minecraft-server-ironveil
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|
||||||
- name: Start container
|
- name: Start container
|
||||||
uses: appleboy/ssh-action@v1.2.0
|
uses: appleboy/ssh-action@v1.2.5
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.host }}
|
host: ${{ secrets.host }}
|
||||||
username: ${{ secrets.USERNAME }}
|
username: ${{ secrets.USERNAME }}
|
||||||
key: ${{ secrets.KEY }}
|
key: ${{ secrets.KEY }}
|
||||||
script: |
|
script: |
|
||||||
cd minecraft-server-example-folder
|
cd minecraft-server-ironveil
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|||||||
@@ -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 }}
|
||||||
@@ -9,11 +9,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Restart container
|
- name: Restart container
|
||||||
uses: appleboy/ssh-action@v1.2.0
|
uses: appleboy/ssh-action@v1.2.5
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.host }}
|
host: ${{ secrets.host }}
|
||||||
username: ${{ secrets.USERNAME }}
|
username: ${{ secrets.USERNAME }}
|
||||||
key: ${{ secrets.KEY }}
|
key: ${{ secrets.KEY }}
|
||||||
script: |
|
script: |
|
||||||
cd minecraft-server-example-folder
|
cd minecraft-server-ironveil
|
||||||
docker compose restart
|
docker compose restart
|
||||||
|
|||||||
+3
-2
@@ -1,2 +1,3 @@
|
|||||||
data
|
.env
|
||||||
.env
|
world
|
||||||
|
modpack
|
||||||
+23
@@ -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"]
|
||||||
@@ -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.
|
|
||||||
@@ -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.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
services:
|
||||||
|
ironveil:
|
||||||
|
image: ironveil:latest
|
||||||
|
container_name: ironveil
|
||||||
|
volumes:
|
||||||
|
- ./world:/server/world
|
||||||
|
ports:
|
||||||
|
- "25565:25565"
|
||||||
|
- "25575:25575"
|
||||||
|
restart: unless-stopped
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
eula=true
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
[
|
||||||
|
"player1",
|
||||||
|
"player2"
|
||||||
|
]
|
||||||
@@ -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"}}}}
|
||||||
@@ -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}
|
||||||
+1
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
password=
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
password: ""
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Generated via Docker
|
||||||
|
# Tue 10 Feb 2026 07:47:11 PM UTC
|
||||||
|
eula=true
|
||||||
|
|
||||||
@@ -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
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
@@ -1,6 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"name":"zardzul",
|
|
||||||
"uuid":"9f0f315c-880d-48aa-a786-66ba83dcfb28"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Reference in New Issue
Block a user