mirror of
https://github.com/Merith-TK/docker-vintagestory
synced 2025-01-18 06:10:27 +00:00
refactor: made using this repo/image more simple
This commit is contained in:
parent
1ea85be898
commit
e8b70142f9
14 changed files with 138 additions and 516 deletions
|
@ -16,9 +16,7 @@ FROM mono:latest as runtime
|
|||
COPY --from=downloader "./download/" "/game"
|
||||
|
||||
# Defaults
|
||||
ARG vs_data_path=/gamedata/vs
|
||||
|
||||
COPY "./serverconfig.json" "${vs_data_path}/serverconfig.json"
|
||||
ENV vs_data_path=/gamedata/vs
|
||||
|
||||
# Expose ports
|
||||
EXPOSE 42420/tcp
|
||||
|
|
19
NOTE.md
19
NOTE.md
|
@ -1,19 +0,0 @@
|
|||
# Contribution note
|
||||
just some notes for myself in case i forgot how to upgrade the image
|
||||
|
||||
```sh
|
||||
#build
|
||||
docker build -t devidian/vintagestory .
|
||||
#push
|
||||
docker push devidian/vintagestory
|
||||
#run
|
||||
docker run -pd 42420:42420 --name VintageStoryServer devidian/vintagestory
|
||||
# --------------------------------------
|
||||
# --------- using composer -------------
|
||||
#start
|
||||
docker-compose up -d
|
||||
#rebuild
|
||||
docker-compose up -d --build
|
||||
#stop
|
||||
docker-compose down
|
||||
```
|
65
README.md
65
README.md
|
@ -17,7 +17,7 @@ services:
|
|||
vsserver:
|
||||
image: devidian/vintagestory:latest
|
||||
container_name: vsserver
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
# • your world will be in /appdata/vintagestory/vs by default (/gamedata/vs on the container)
|
||||
# • if you run multiple servers just change the left part
|
||||
|
@ -27,74 +27,17 @@ services:
|
|||
- 42420:42420
|
||||
```
|
||||
|
||||
## Custom build
|
||||
|
||||
You can either copy files from `https://github.com/Devidian/docker-vintagestory/tree/master/build-custom-example` or follow these steps:
|
||||
|
||||
- create a `serverconfig.json` with your settings
|
||||
- create a `Dockerfile` file with contents found below
|
||||
- create a `docker-compose.yml` file with contents found below (adjust port/path if you need)
|
||||
- run `docker-compose up -d` to start
|
||||
- run `docker-compose up -d --build` to rebuild and restart
|
||||
- run `docker-compose down` to stop
|
||||
|
||||
We use `vs_data_path` as ARG because ENV did not get overridden in build phase and we use `VS_DATA_PATH` as ENV because ARG in CMD is empty.
|
||||
|
||||
## Dockerfile for custom-build
|
||||
|
||||
```docker
|
||||
# ============== runtime stage ==================
|
||||
FROM devidian/vintagestory:latest as runtime
|
||||
|
||||
ARG vs_data_path=/gamedata/vs
|
||||
|
||||
# update with your own serverconfig
|
||||
COPY serverconfig.json ${vs_data_path}/serverconfig.json
|
||||
# copy mods
|
||||
#COPY Mods ${vs_data_path}/Mods/
|
||||
# copy default player data
|
||||
#COPY Playerdata ${vs_data_path}/Playerdata/
|
||||
|
||||
WORKDIR /game
|
||||
|
||||
CMD mono VintagestoryServer.exe --dataPath ${VS_DATA_PATH}
|
||||
|
||||
```
|
||||
|
||||
### docker-compose.yml
|
||||
|
||||
```yml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
vsserver:
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
vs_data_path: /gamedata/vs-custom/
|
||||
container_name: vsserver
|
||||
restart: always
|
||||
volumes:
|
||||
- gamedata:/gamedata
|
||||
ports:
|
||||
- 42420:42420
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata/vs-custom
|
||||
volumes:
|
||||
gamedata:
|
||||
```
|
||||
|
||||
### Using unstable versions
|
||||
|
||||
To use unstable versions just replace tag `latest` with `unstable` in `Dockerfile`
|
||||
To use unstable versions just replace tag `latest` with `unstable`. See [docker-compose.yml]( docker-compose.yml ) for all versions.
|
||||
|
||||
### Updating container
|
||||
|
||||
To update to the latest version call `docker pull devidian/vintagestory` first, this will download the newest latest base image. Then execute `docker-compose up -d --build` if you have not changed any other files it should not override them (did not for me)
|
||||
To update to the latest version call `docker compose pull` first, this will download the newest latest base image. Then execute `docker compose up -d`.
|
||||
|
||||
### Copy/Override files
|
||||
|
||||
To copy and override files use `docker exec vsserver cp [local path] [docker-path]` where `docker-path` is starting with `/gamedata/vs-custom/..` for the example composer file. This is useful to update white/blacklists manually or update `serversettings.json`
|
||||
If you use a host volume, you can just edit files there. First stop the container, then make your changes and start the container again.
|
||||
|
||||
## Troubleshooting / Help / Issues
|
||||
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
# ============== runtime stage ==================
|
||||
FROM devidian/vintagestory:latest as runtime
|
||||
|
||||
ARG vs_data_path=/gamedata/vs-custom
|
||||
|
||||
# update with your own serverconfig
|
||||
COPY serverconfig.json ${vs_data_path}/serverconfig.json
|
||||
# copy mods
|
||||
COPY Mods ${vs_data_path}/Mods/
|
||||
# copy default player data
|
||||
COPY Playerdata ${vs_data_path}/Playerdata/
|
||||
|
||||
WORKDIR /game
|
||||
|
||||
CMD mono VintagestoryServer.exe --dataPath ${VS_DATA_PATH}
|
Binary file not shown.
|
@ -1,21 +0,0 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
vsserver:
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
vs_data_path: /gamedata/vs-custom/
|
||||
container_name: vsserver
|
||||
restart: always
|
||||
volumes:
|
||||
- gamedata:/gamedata
|
||||
ports:
|
||||
- target: 42420
|
||||
published: 42420
|
||||
protocol: tcp
|
||||
# mode: host
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata/vs-custom
|
||||
volumes:
|
||||
gamedata:
|
|
@ -1,349 +0,0 @@
|
|||
{
|
||||
"ConfigVersion": "1.0",
|
||||
"ServerMonitor": true,
|
||||
"MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
|
||||
"ClientConnectionTimeout": 120,
|
||||
"EntityDebugMode": false,
|
||||
"MapSizeX": 1000000,
|
||||
"MapSizeY": 256,
|
||||
"MapSizeZ": 1000000,
|
||||
"ServerLanguage": "en",
|
||||
"SkipEveryChunkRow": 0,
|
||||
"SkipEveryChunkRowWidth": 0,
|
||||
"ModPaths": [
|
||||
"Mods",
|
||||
"/gamedata/vs-custom/Mods"
|
||||
],
|
||||
"WorldConfig": {
|
||||
"Seed": null,
|
||||
"SaveFileLocation": "/gamedata/vs-custom/Saves/default.vcdbs",
|
||||
"WorldName": "VintageDockerCustomExample",
|
||||
"AllowCreativeMode": true,
|
||||
"PlayStyle": "surviveandbuild",
|
||||
"PlayStyleLangCode": "surviveandbuild-bands",
|
||||
"WorldType": "standard",
|
||||
"WorldConfiguration": null,
|
||||
"MapSizeY": null,
|
||||
"CreatedByPlayerName": null,
|
||||
"DisabledMods": null,
|
||||
"RepairMode": false
|
||||
},
|
||||
"NextPlayerGroupUid": 10,
|
||||
"GroupChatHistorySize": 20,
|
||||
"MaxOwnedGroupChannelsPerUser": 10,
|
||||
"ServerName": "EN - Vintage Story Server - CustomBuild",
|
||||
"ServerUrl": null,
|
||||
"ServerDescription": "VintageServer running in Docker container",
|
||||
"WelcomeMessage": "Welcome {0}, may you survive well and prosper",
|
||||
"Ip": null,
|
||||
"Port": 42420,
|
||||
"Upnp": false,
|
||||
"CompressPackets": true,
|
||||
"AdvertiseServer": true,
|
||||
"MaxClients": 16,
|
||||
"Password": null,
|
||||
"MaxChunkRadius": 12,
|
||||
"TickTime": 33.3333321,
|
||||
"BlockTickChunkRange": 4,
|
||||
"MaxMainThreadBlockTicks": 10000,
|
||||
"RandomBlockTicksPerChunk": 16,
|
||||
"BlockTickInterval": 300,
|
||||
"Roles": [
|
||||
{
|
||||
"Code": "suvisitor",
|
||||
"Name": "Survival Visitor",
|
||||
"Description": "Can only visit this world and chat but not use/place/break anything",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"chat"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
"Color": "Green",
|
||||
"LandClaimAllowance": 0,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 3,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "crvisitor",
|
||||
"Name": "Creative Visitor",
|
||||
"Description": "Can only visit this world, chat and fly but not use/place/break anything",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"chat"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
"Color": "DarkGray",
|
||||
"LandClaimAllowance": 0,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 3,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "limitedsuplayer",
|
||||
"Name": "Limited Survival Player",
|
||||
"Description": "Can use/place/break blocks only in permitted areas (priv level -1), create/manage player groups and chat",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"build",
|
||||
"useblock",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
"Color": "White",
|
||||
"LandClaimAllowance": 0,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 3,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "limitedcrplayer",
|
||||
"Name": "Limited Creative Player",
|
||||
"Description": "Can use/place/break blocks in only in permitted areas (priv level -1), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed)",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"build",
|
||||
"useblock",
|
||||
"gamemode",
|
||||
"freemove",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
"Color": "LightGreen",
|
||||
"LandClaimAllowance": 0,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 3,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "suplayer",
|
||||
"Name": "Survival Player",
|
||||
"Description": "Can use/place/break blocks in unprotected areas (priv level 0), create/manage player groups and chat. Can claim an area of up to 8 chunks.",
|
||||
"PrivilegeLevel": 0,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"areamodify",
|
||||
"build",
|
||||
"useblock",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
"Color": "White",
|
||||
"LandClaimAllowance": 262144,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 3,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "crplayer",
|
||||
"Name": "Creative Player",
|
||||
"Description": "Can use/place/break blocks in all areas (priv level 100), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
|
||||
"PrivilegeLevel": 100,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"areamodify",
|
||||
"build",
|
||||
"useblock",
|
||||
"gamemode",
|
||||
"freemove",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
"Color": "LightGreen",
|
||||
"LandClaimAllowance": 1310720,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 6,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "sumod",
|
||||
"Name": "Survival Moderator",
|
||||
"Description": "Can use/place/break blocks everywhere (priv level 200), create/manage player groups, chat, kick/ban players and do serverwide announcements. Can claim an area of up to 4 chunks.",
|
||||
"PrivilegeLevel": 200,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"areamodify",
|
||||
"build",
|
||||
"useblock",
|
||||
"buildblockseverywhere",
|
||||
"useblockseverywhere",
|
||||
"kick",
|
||||
"ban",
|
||||
"announce",
|
||||
"readlists",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
"Color": "Cyan",
|
||||
"LandClaimAllowance": 1310720,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 60,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "crmod",
|
||||
"Name": "Creative Moderator",
|
||||
"Description": "Can use/place/break blocks everywhere (priv level 500), create/manage player groups, chat, kick/ban players, fly and set his own or other players game modes (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
|
||||
"PrivilegeLevel": 500,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"controlplayergroups",
|
||||
"manageplayergroups",
|
||||
"chat",
|
||||
"areamodify",
|
||||
"build",
|
||||
"useblock",
|
||||
"buildblockseverywhere",
|
||||
"useblockseverywhere",
|
||||
"kick",
|
||||
"ban",
|
||||
"gamemode",
|
||||
"freemove",
|
||||
"commandplayer",
|
||||
"announce",
|
||||
"readlists",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
"Color": "Cyan",
|
||||
"LandClaimAllowance": 1310720,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 60,
|
||||
"AutoGrant": false
|
||||
},
|
||||
{
|
||||
"Code": "admin",
|
||||
"Name": "Admin",
|
||||
"Description": "Has all privileges, including giving other players admin status.",
|
||||
"PrivilegeLevel": 99999,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
"build",
|
||||
"useblock",
|
||||
"buildblockseverywhere",
|
||||
"useblockseverywhere",
|
||||
"attackplayers",
|
||||
"attackcreatures",
|
||||
"freemove",
|
||||
"gamemode",
|
||||
"pickingrange",
|
||||
"chat",
|
||||
"kick",
|
||||
"ban",
|
||||
"whitelist",
|
||||
"setwelcome",
|
||||
"announce",
|
||||
"readlists",
|
||||
"give",
|
||||
"areamodify",
|
||||
"setspawn",
|
||||
"controlserver",
|
||||
"tp",
|
||||
"time",
|
||||
"grantrevoke",
|
||||
"root",
|
||||
"commandplayer",
|
||||
"controlplayergroups",
|
||||
"manageplayergroups"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
"Color": "LightBlue",
|
||||
"LandClaimAllowance": 2147483647,
|
||||
"LandClaimMinSize": {
|
||||
"X": 5,
|
||||
"Y": 5,
|
||||
"Z": 5
|
||||
},
|
||||
"LandClaimMaxAreas": 99999,
|
||||
"AutoGrant": true
|
||||
}
|
||||
],
|
||||
"DefaultRoleCode": "suplayer",
|
||||
"AntiAbuse": 0,
|
||||
"OnlyWhitelisted": false,
|
||||
"VerifyPlayerAuth": true,
|
||||
"DefaultSpawn": null,
|
||||
"AllowPvP": false,
|
||||
"AllowFireSpread": true,
|
||||
"AllowFallingBlocks": true,
|
||||
"StartupCommands": null,
|
||||
"RepairMode": false,
|
||||
"RegenerateCorruptChunks": false,
|
||||
"ChatRateLimitMs": 1000,
|
||||
"DieBelowDiskSpaceMb": 200
|
||||
}
|
|
@ -1,36 +1,6 @@
|
|||
{
|
||||
"ConfigVersion": "1.0",
|
||||
"ServerMonitor": true,
|
||||
"MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
|
||||
"ClientConnectionTimeout": 120,
|
||||
"EntityDebugMode": false,
|
||||
"MapSizeX": 1000000,
|
||||
"MapSizeY": 256,
|
||||
"MapSizeZ": 1000000,
|
||||
"ServerLanguage": "en",
|
||||
"SkipEveryChunkRow": 0,
|
||||
"SkipEveryChunkRowWidth": 0,
|
||||
"ModPaths": [
|
||||
"Mods",
|
||||
"/gamedata/vs/Mods"
|
||||
],
|
||||
"WorldConfig": {
|
||||
"Seed": null,
|
||||
"SaveFileLocation": "/gamedata/vs/Saves/default.vcdbs",
|
||||
"WorldName": "VintageDockerExample",
|
||||
"AllowCreativeMode": true,
|
||||
"PlayStyle": "surviveandbuild",
|
||||
"PlayStyleLangCode": "surviveandbuild-bands",
|
||||
"WorldType": "standard",
|
||||
"WorldConfiguration": null,
|
||||
"MapSizeY": null,
|
||||
"CreatedByPlayerName": null,
|
||||
"DisabledMods": null,
|
||||
"RepairMode": false
|
||||
},
|
||||
"NextPlayerGroupUid": 10,
|
||||
"GroupChatHistorySize": 20,
|
||||
"MaxOwnedGroupChannelsPerUser": 10,
|
||||
"ConfigVersion": "1.5",
|
||||
"ServerName": "EN - Vintage Story Server",
|
||||
"ServerUrl": null,
|
||||
"ServerDescription": "VintageServer running in Docker container",
|
||||
|
@ -41,19 +11,30 @@
|
|||
"CompressPackets": true,
|
||||
"AdvertiseServer": true,
|
||||
"MaxClients": 16,
|
||||
"PassTimeWhenEmpty": false,
|
||||
"MasterserverUrl": "http://masterserver.vintagestory.at/api/v1/servers/",
|
||||
"ModDbUrl": "https://mods.vintagestory.at/",
|
||||
"ClientConnectionTimeout": 120,
|
||||
"Password": null,
|
||||
"MapSizeX": 1000000,
|
||||
"MapSizeY": 256,
|
||||
"MapSizeZ": 1000000,
|
||||
"ServerLanguage": "en",
|
||||
"MaxChunkRadius": 12,
|
||||
"TickTime": 33.3333321,
|
||||
"SpawnCapPlayerScaling": 0.75,
|
||||
"BlockTickChunkRange": 4,
|
||||
"MaxMainThreadBlockTicks": 10000,
|
||||
"RandomBlockTicksPerChunk": 16,
|
||||
"BlockTickInterval": 300,
|
||||
"SkipEveryChunkRow": 0,
|
||||
"SkipEveryChunkRowWidth": 0,
|
||||
"Roles": [
|
||||
{
|
||||
"Code": "suvisitor",
|
||||
"PrivilegeLevel": -1,
|
||||
"Name": "Survival Visitor",
|
||||
"Description": "Can only visit this world and chat but not use/place/break anything",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -73,9 +54,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "crvisitor",
|
||||
"PrivilegeLevel": -1,
|
||||
"Name": "Creative Visitor",
|
||||
"Description": "Can only visit this world, chat and fly but not use/place/break anything",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -95,9 +76,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "limitedsuplayer",
|
||||
"PrivilegeLevel": -1,
|
||||
"Name": "Limited Survival Player",
|
||||
"Description": "Can use/place/break blocks only in permitted areas (priv level -1), create/manage player groups and chat",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -107,7 +88,8 @@
|
|||
"build",
|
||||
"useblock",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
|
@ -123,9 +105,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "limitedcrplayer",
|
||||
"PrivilegeLevel": -1,
|
||||
"Name": "Limited Creative Player",
|
||||
"Description": "Can use/place/break blocks in only in permitted areas (priv level -1), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed)",
|
||||
"PrivilegeLevel": -1,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -137,7 +119,8 @@
|
|||
"gamemode",
|
||||
"freemove",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
|
@ -153,9 +136,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "suplayer",
|
||||
"PrivilegeLevel": 0,
|
||||
"Name": "Survival Player",
|
||||
"Description": "Can use/place/break blocks in unprotected areas (priv level 0), create/manage player groups and chat. Can claim an area of up to 8 chunks.",
|
||||
"PrivilegeLevel": 0,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -166,7 +149,8 @@
|
|||
"build",
|
||||
"useblock",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
|
@ -182,9 +166,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "crplayer",
|
||||
"PrivilegeLevel": 100,
|
||||
"Name": "Creative Player",
|
||||
"Description": "Can use/place/break blocks in all areas (priv level 100), create/manage player groups, chat, fly and set his own game mode (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
|
||||
"PrivilegeLevel": 100,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -197,7 +181,8 @@
|
|||
"gamemode",
|
||||
"freemove",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
|
@ -213,9 +198,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "sumod",
|
||||
"PrivilegeLevel": 200,
|
||||
"Name": "Survival Moderator",
|
||||
"Description": "Can use/place/break blocks everywhere (priv level 200), create/manage player groups, chat, kick/ban players and do serverwide announcements. Can claim an area of up to 4 chunks.",
|
||||
"PrivilegeLevel": 200,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -232,7 +217,8 @@
|
|||
"announce",
|
||||
"readlists",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
|
@ -248,9 +234,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "crmod",
|
||||
"PrivilegeLevel": 500,
|
||||
"Name": "Creative Moderator",
|
||||
"Description": "Can use/place/break blocks everywhere (priv level 500), create/manage player groups, chat, kick/ban players, fly and set his own or other players game modes (= allows fly and change of move speed). Can claim an area of up to 40 chunks.",
|
||||
"PrivilegeLevel": 500,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -270,7 +256,8 @@
|
|||
"announce",
|
||||
"readlists",
|
||||
"attackcreatures",
|
||||
"attackplayers"
|
||||
"attackplayers",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 2,
|
||||
|
@ -286,9 +273,9 @@
|
|||
},
|
||||
{
|
||||
"Code": "admin",
|
||||
"PrivilegeLevel": 99999,
|
||||
"Name": "Admin",
|
||||
"Description": "Has all privileges, including giving other players admin status.",
|
||||
"PrivilegeLevel": 99999,
|
||||
"DefaultSpawn": null,
|
||||
"ForcedSpawn": null,
|
||||
"Privileges": [
|
||||
|
@ -318,7 +305,8 @@
|
|||
"root",
|
||||
"commandplayer",
|
||||
"controlplayergroups",
|
||||
"manageplayergroups"
|
||||
"manageplayergroups",
|
||||
"selfkill"
|
||||
],
|
||||
"RuntimePrivileges": [],
|
||||
"DefaultGameMode": 1,
|
||||
|
@ -334,16 +322,41 @@
|
|||
}
|
||||
],
|
||||
"DefaultRoleCode": "suplayer",
|
||||
"ModPaths": [
|
||||
"Mods",
|
||||
"/gamedata/vs/Mods"
|
||||
],
|
||||
"AntiAbuse": 0,
|
||||
"WorldConfig": {
|
||||
"Seed": null,
|
||||
"SaveFileLocation": "/gamedata/Saves/default.vcdbs",
|
||||
"WorldName": "VintageDockerExample",
|
||||
"AllowCreativeMode": true,
|
||||
"PlayStyle": "surviveandbuild",
|
||||
"PlayStyleLangCode": "surviveandbuild-bands",
|
||||
"WorldType": "standard",
|
||||
"WorldConfiguration": null,
|
||||
"MapSizeY": null,
|
||||
"CreatedByPlayerName": null,
|
||||
"DisabledMods": null,
|
||||
"RepairMode": false
|
||||
},
|
||||
"NextPlayerGroupUid": 10,
|
||||
"GroupChatHistorySize": 20,
|
||||
"MaxOwnedGroupChannelsPerUser": 10,
|
||||
"OnlyWhitelisted": false,
|
||||
"VerifyPlayerAuth": true,
|
||||
"DefaultSpawn": null,
|
||||
"AllowPvP": false,
|
||||
"AllowFireSpread": true,
|
||||
"AllowFallingBlocks": true,
|
||||
"HostedMode": false,
|
||||
"StartupCommands": null,
|
||||
"RepairMode": false,
|
||||
"AnalyzeMode": false,
|
||||
"CorruptionProtection": true,
|
||||
"RegenerateCorruptChunks": false,
|
||||
"ChatRateLimitMs": 1000,
|
||||
"DieBelowDiskSpaceMb": 200
|
||||
"DieBelowDiskSpaceMb": 400,
|
||||
"ModIdBlackList": null
|
||||
}
|
25
compose-default/servermagicnumbers.json
Normal file
25
compose-default/servermagicnumbers.json
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"Comment": "You can use this config to increase/lower the cpu and network load of the server. A Warning though: Changing these numbers might make your server run unstable or slow. Use at your own risk! Until there is an official documentation, feel free to ask in the forums what the numbers do.",
|
||||
"DefaultEntityTrackingRange": 4,
|
||||
"RequestChunkColumnsQueueSize": 2000,
|
||||
"ReadyChunksQueueSize": 200,
|
||||
"ChunksColumnsToRequestPerTick": 4,
|
||||
"ChunksToSendPerTick": 192,
|
||||
"ChunkRequestTickTime": 20,
|
||||
"ChunkColumnsToGeneratePerThreadTick": 15,
|
||||
"ServerAutoSave": 300,
|
||||
"SpawnChunksWidth": 7,
|
||||
"TrackedEntitiesPerClient": 3000,
|
||||
"CalendarPacketSecondInterval": 60,
|
||||
"ChunkUnloadInterval": 4000,
|
||||
"UncompressedChunkTTL": 15000,
|
||||
"CompressedChunkTTL": 45000,
|
||||
"PlayerDesyncTolerance": 0.02,
|
||||
"PlayerDesyncMaxIntervalls": 20.0,
|
||||
"ChunkThreadTickTime": 5,
|
||||
"AntiAbuseMaxWalkBlocksPer200ms": 3,
|
||||
"AntiAbuseMaxFlySuspicions": 3,
|
||||
"AntiAbuseMaxTeleSuspicions": 8,
|
||||
"MaxPhysicsThreads": 4,
|
||||
"ServerMagicNumVersion": "1.3"
|
||||
}
|
47
docker-compose.yml
Normal file
47
docker-compose.yml
Normal file
|
@ -0,0 +1,47 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
# docker compose up -d vsserver-local
|
||||
vsserver-local:
|
||||
build: .
|
||||
container_name: vsserver-local
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./compose-default:/gamedata
|
||||
ports:
|
||||
- 42420:42420
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata
|
||||
# docker compose up -d vsserver-stable
|
||||
vsserver-stable:
|
||||
image: devidian/vintagestory:latest
|
||||
container_name: vsserver-stable
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /appdata/vintagestory:/gamedata
|
||||
ports:
|
||||
- 42430:42420
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata
|
||||
# docker compose up -d vsserver-unstable
|
||||
vsserver-unstable:
|
||||
image: devidian/vintagestory:unstable
|
||||
container_name: vsserver-unstable
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /appdata/vintagestory-unstable:/gamedata
|
||||
ports:
|
||||
- 42440:42420
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata
|
||||
# docker compose up -d vsserver-pre
|
||||
vsserver-pre:
|
||||
image: devidian/vintagestory:pre
|
||||
container_name: vsserver-pre
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /appdata/vintagestory-pre:/gamedata
|
||||
ports:
|
||||
- 42435:42420
|
||||
environment:
|
||||
VS_DATA_PATH: /gamedata
|
Loading…
Reference in a new issue