非常に一般的な必需品専用サーバー, DockerのMODの有無にかかわらず、スタートアップで自分自身を更新する.
dockerfile
######## Auto Updationsenseedesserサーバー ######## OpenJDKから:latest ENV USER necesse ENV HOME /home/necesse WORKDIR $HOME COPY --from=steamcmd/steamcmd:latest /usr/lib/games/steam /usr/lib/games/steam COPY --from=steamcmd/steamcmd:latest /usr/bin/steamcmd /usr/bin/steamcmd COPY --from=steamcmd/steamcmd:latest /etc/ssl/certs /etc/ssl/certs COPY --from=steamcmd/steamcmd:latest /lib /lib RUN mkdir necesse RUN printf '#!/bin/bash \n\ steamcmd +login anonymous +force_install_dir ${家}/必要 + app_update 1169370 validate +quit \n\ i=1 \n\ variable="mod_ $ i" \n\ value=${!変数} \n\ if test ! -z "$価値"; then \n\ mkdir -p .config/Necesse/mods \n\ rm .config/Necesse/mods/* \n\ fi \n\ while test ! -z "$価値"; do \n\ steamcmd +login "$Steam_user" "$Steam_password" +force_install_dir $ home +workshop_download_item 1169040 $value +quit \n\ i=$((I+1)) \n\ variable="mod_ $ i" \n\ value=${!変数} \n\ mv steamapps/workshop/content/**/**/*.jar .config/Necesse/mods \n\ done \n\ java -jar ${家}/necesse/Server.jar -nogui $@ \n\ ' >> entrypoint RUN chmod +x entrypoint # コールドスタートコンテナが必要な場合, comment the next Line in RUN steamcmd +login anonymous +force_install_dir ${家}/必要 + app_update 1169370 validate +quit ENTRYPOINT ["./エントリポイント"] さらす 14159
建物
Dockerビルド . -tが必要です
テスト
インタラクティブモードでテストするだけです:
Docker Run -It It Itsense -Server
しかし、それを悪魔として実行する方がより理にかなっています, すべてのデフォルトの開始パラメーターを使用することもできます:
docker run -d必需品 - サーバー - mynewworld
NO/SELF MANARED MODを使用してサーバーを実行します
docker run -d - マウントタイプ=バインド,ソース=</a/directory/on/your/harddrive>,ターゲット= / home / must / .config / must / -p 14159:14159 - ワールドニードサーバー <ワールドネーム>
docker-compose.ymlでは、このようなものになります:
バージョン: '3.7' services: 必要な人: 再起動: unless-stopped build: . ポート: - "14159:14159" ボリューム: - タイプ: bind source: /srv/docker/necesse-config/ target: /home/necesse/.config/Necesse/ command: ["-世界", "myworldname"]
modを備えたサーバーを実行します
ゲームを所有している場合にのみ、SteamワークショップからMODをダウンロードできます, したがって、ゲームを所有し、MODを使用して自動化された必需品サーバーを実行するためにSteam Guard保護されていないアカウントにSteam資格情報を提供する必要があります.
パスワードにDockerの秘密を提供する必要があります, しかし、この例では, それは平文です
docker run -d -env Steam_user =<ASTEAMACCOUNTHICHOWNSN INDEISE> --env Steam_password =<スチームパスワード> --env mod_1 =<mods> --env mod_2 =<mods> --マウントタイプ=バインド,ソース=</a/directory/on/your/harddrive>,ターゲット= / home / must / .config / must / must -server -world <ワールドネーム>
docker-compose.ymlで:
バージョン: '3.7' services: 必要な人: 再起動: unless-stopped build: . ポート: - "14159:14159" ボリューム: - タイプ: bind source: /srv/docker/necesse-config/ target: /home/necesse/.config/Necesse/ command: ["-世界", "myworldname"] 環境: Steam_user: ASteamAccountWhichOwnsNecesse STEAM_PASSWORD: SteamPassword MOD_1: 2833909781 # よりBetter Enchantment Mod