Open kashyn89 opened 10 months ago
Hi kashyn89, If you are using the docker-compose.yml file from this project it should work for you. Feel free to share some more about your setup and post your compose file (with sensitive information redacted) and I will take a look to try and help sort it out. I run a 6 map cluster for my friends using this project. The only difference I've made is to mount the cluster volume to a folder on the file system so I can sync it across multiple physical servers. One big challenge I faced early on was making sure the file permissions were the same for all servers that touched the shared cluster folder.
Hey acid,
i've build it up with compose and managing it with portainer, ive also mapped the cluster volume directly to os to easy modify it, but, when i transfer the character, the character file is created/moved to the cluster folder but get forced to recreate the character, here is my whole compose
services:
theisland:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "0 */3 * * *"
CRON_AUTO_BACKUP: "0 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "TheIsland"
SESSION_NAME: "ARK Cluster TheIsland"
MAX_PLAYERS: 15
RCON_ENABLE: "True"
QUERY_PORT: 15000
GAME_PORT: 15002
RCON_PORT: 15003
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_theisland:/ark
- /opt/arkcluster:/cluster
ports:
- "15000-15003:15000-15003/udp"
restart: unless-stopped
tty: true
thecenter:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "5 */3 * * *"
CRON_AUTO_BACKUP: "5 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "TheCenter"
SESSION_NAME: "ARK Cluster TheCenter"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15010
GAME_PORT: 15012
RCON_PORT: 15013
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_thecenter:/ark
- /opt/arkcluster:/cluster
ports:
- "15010-15013:15010-15013/udp"
restart: unless-stopped
tty: true
scorchedearth:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "10 */3 * * *"
CRON_AUTO_BACKUP: "10 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "ScorchedEarth_P"
SESSION_NAME: "ARK Cluster Scorched Earth"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15120
GAME_PORT: 15122
RCON_PORT: 15123
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_scorchedearth:/ark
- /opt/arkcluster:/cluster
ports:
- "15120-15123:15120-15123/udp"
restart: unless-stopped
tty: true
ragnarok:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "20 */3 * * *"
CRON_AUTO_BACKUP: "20 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Ragnarok"
SESSION_NAME: "ARK Cluster Ragnarok"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15020
GAME_PORT: 15022
RCON_PORT: 15023
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_ragnarok:/ark
- /opt/arkcluster:/cluster
ports:
- "15020-15023:15020-15023/udp"
restart: unless-stopped
tty: true
aberration:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "25 */3 * * *"
CRON_AUTO_BACKUP: "25 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Aberration_P"
SESSION_NAME: "ARK Cluster Aberration"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15030
GAME_PORT: 15032
RCON_PORT: 15033
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_aberration:/ark
- /opt/arkcluster:/cluster
ports:
- "15030-15033:15030-15033/udp"
restart: unless-stopped
tty: true
extinction:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "30 */3 * * *"
CRON_AUTO_BACKUP: "30 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Extinction"
SESSION_NAME: "ARK Cluster Extinction"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15040
GAME_PORT: 15042
RCON_PORT: 15043
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_extinction:/ark
- /opt/arkcluster:/cluster
ports:
- "15040-15043:15040-15043/udp"
restart: unless-stopped
tty: true
valguero:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "35 */3 * * *"
CRON_AUTO_BACKUP: "35 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Valguero_P"
SESSION_NAME: "ARK Cluster Valguero"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15050
GAME_PORT: 15052
RCON_PORT: 15053
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_valguero:/ark
- /opt/arkcluster:/cluster
ports:
- "15050-15053:15050-15053/udp"
restart: unless-stopped
tty: true
genesis:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "40 */3 * * *"
CRON_AUTO_BACKUP: "40 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Genesis"
SESSION_NAME: "ARK Cluster Genesis"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15060
GAME_PORT: 15062
RCON_PORT: 15063
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_genesis:/ark
- /opt/arkcluster:/cluster
ports:
- "15060-15063:15060-15063/udp"
restart: unless-stopped
tty: true
crystalisles:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "45 */3 * * *"
CRON_AUTO_BACKUP: "45 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "CrystalIsles"
SESSION_NAME: "ARK Cluster Crystal Isles"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15070
GAME_PORT: 15072
RCON_PORT: 15073
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_crystalisles:/ark
- /opt/arkcluster:/cluster
ports:
- "15070-15073:15070-15073/udp"
restart: unless-stopped
tty: true
gen2:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "50 */3 * * *"
CRON_AUTO_BACKUP: "50 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Gen2"
SESSION_NAME: "ARK Cluster Gen2"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15080
GAME_PORT: 15082
RCON_PORT: 15083
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_gen2:/ark
- /opt/arkcluster:/cluster
ports:
- "15080-15083:15080-15083/udp"
restart: unless-stopped
tty: true
lostisland:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "55 */3 * * *"
CRON_AUTO_BACKUP: "55 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "LostIsland"
SESSION_NAME: "ARK Cluster Lost Island"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15090
GAME_PORT: 15092
RCON_PORT: 15093
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_lostisland:/ark
- /opt/arkcluster:/cluster
ports:
- "15090-15093:15090-15093/udp"
restart: unless-stopped
tty: true
fjordur:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "0 */3 * * *"
CRON_AUTO_BACKUP: "0 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "Fjordur"
SESSION_NAME: "ARK Cluster Fjordur"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15100
GAME_PORT: 15102
RCON_PORT: 15103
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_fjordur:/ark
- /opt/arkcluster:/cluster
ports:
- "15100-15103:15100-15103/udp"
restart: unless-stopped
tty: true
bossmap:
image: r15ch13/arkcluster:latest
deploy:
mode: global
environment:
CRON_AUTO_UPDATE: "5 */3 * * *"
CRON_AUTO_BACKUP: "5 */1 * * *"
UPDATEONSTART: 1
BACKUPONSTART: 1
BACKUPONSTOP: 1
WARNONSTOP: 1
USER_ID: 1000
GROUP_ID: 1000
TZ: "Europe/Berlin"
MAX_BACKUP_SIZE: 500
SERVERMAP: "TheIsland"
SESSION_NAME: "ARK Cluster Bossmap"
MAX_PLAYERS: 15
RCON_ENABLE: "False"
QUERY_PORT: 15110
GAME_PORT: 15112
RCON_PORT: 15113
SERVER_PVE: "False"
SERVER_PASSWORD: "${server_pw}"
ADMIN_PASSWORD: "${admin_pw}"
SPECTATOR_PASSWORD: "${spectator_pw}"
MODS: "${modlist_bossmap},${modlist}"
CLUSTER_ID: "${clusterid}"
GAME_USERSETTINGS_INI_PATH: "/cluster/${clusterid_bossmap}.GameUserSettings.ini"
GAME_INI_PATH: "/cluster/${clusterid_bossmap}.Game.ini"
KILL_PROCESS_TIMEOUT: 300
KILL_ALL_PROCESSES_TIMEOUT: 300
volumes:
- server_bossmap:/ark
- /opt/arkcluster:/cluster
ports:
- "15110-15113:15110-15113/udp"
restart: unless-stopped
tty: true
volumes:
server_theisland:
server_thecenter:
server_scorchedearth:
server_ragnarok:
server_aberration:
server_extinction:
server_valguero:
server_genesis:
server_crystalisles:
server_gen2:
server_lostisland:
server_fjordur:
server_bossmap:
#cluster: #mapped to filesystem
Everything in your docker compose file looks pretty good to me.
Based on what I can see I would look closely at the permissions of the /opt/arkcluster folder and it's contents.
On my setup I changed the owner of the folder to match what I set in the USER_ID and GROUP_ID variables.
So in this case you could try chown -R 1000:1000 /opt/arkcluster
. This will set the owner and group to 1000 for /opt/arkcluster and anything within. You also want to make sure the owner has write permissions. You can do this with chmod -R u+w /opt/arkcluster
.
Hope this helps!
Hey, this seems not the problem, permissions are correct and into the container i can see the cluster folder and files. I dont get i why its not working
Any other suggestions here?
Sorry, I'm afraid I don't have much else to suggest. Based on the configuration you shared and my experiences using this project I don't think it's related to anything specific to just this docker image. You might try a smaller scale test with a configuration closer to the example shared in the docker-compose.yml in this repo. If you can get a small scale test working then it might give you clues for things you can try on your configuration.
Hey guys, i'm at that point that the servers are running, but i cant transfer my chars between the servers, i can see that my player character file is loaded into the given cluster path, but if i travel the next server forces me to create a new character. I cant see anything in the logs and now i have no idea why this is happening. If i install a ark cluster via arkmanager directy on my host it works to travel between.
BR