Ver Fonte

update: 由于steamcmd被持久化存储,在容器内部,steam的登录状态无法被保存,所以去掉cron的计划任务,不在实时更新mod

Dcrclub há 1 mês atrás
pai
commit
2013539470
2 ficheiros alterados com 0 adições e 51 exclusões
  1. 0 3
      DockerFile/Dockerfile
  2. 0 48
      DockerFile/start.sh

+ 0 - 3
DockerFile/Dockerfile

@@ -18,7 +18,6 @@ RUN apt-get update && apt-get install -y \
     libtinfo5 \
     libvorbisfile3 \
     lib32z1 \
-    cron \
     && rm -rf /var/lib/apt/lists/*
 
 RUN mkdir -p ${STEAMCMD_DIR}
@@ -39,8 +38,6 @@ RUN chown -R steam:steam ${STEAMCMD_DIR} && \
     chown steam:steam /opt/updatemod.sh && \
     chown -R steam:steam /opt/games
 
-RUN touch /etc/cron.d/updatemod
-
 WORKDIR ${STEAMCMD_DIR}
 
 CMD ["/opt/start.sh"] 

+ 0 - 48
DockerFile/start.sh

@@ -7,52 +7,6 @@ echo "SteamCMD容器启动中..."
 echo "时间: $(date)"
 echo "=========================================="
 
-# 启动cron服务并设置crontab任务
-setup_crontab() {
-    # 检查是否启用自动更新
-    if [ "${ENABLE_AUTO_UPDATE:-true}" != "true" ]; then
-        echo "自动更新已禁用 (ENABLE_AUTO_UPDATE=false)"
-        return
-    fi
-    
-    echo "设置crontab自动更新任务..."
-    
-    # 保存环境变量到/etc/environment文件(解决cron任务无法读取环境变量的问题)
-    echo "保存环境变量到/etc/environment..."
-    cat > /etc/environment << EOF
-STEAM_USERNAME=${STEAM_USERNAME}
-STEAM_PASSWORD=${STEAM_PASSWORD}
-MOD_IDS=${MOD_IDS}
-DAYZ_MISSIONS=${DAYZ_MISSIONS}
-DAYZ_SERVER_PORT=${DAYZ_SERVER_PORT}
-DAYZ_CPU_COUNT=${DAYZ_CPU_COUNT}
-ENABLE_AUTO_UPDATE=${ENABLE_AUTO_UPDATE}
-UPDATE_INTERVAL=${UPDATE_INTERVAL}
-EOF
-    
-    # 启动cron服务
-    service cron start
-    
-    # 创建日志目录
-    mkdir -p /var/log
-    touch /var/log/updatemod.log
-    chmod 666 /var/log/updatemod.log
-    
-    # 获取更新间隔(默认15分钟)
-    local interval="${UPDATE_INTERVAL:-15}"
-    
-    # 设置crontab任务
-    echo "*/$interval * * * * /opt/updatemod.sh >> /var/log/updatemod.log 2>&1" | crontab -
-    
-    # 验证crontab任务
-    echo "当前crontab任务列表:"
-    crontab -l
-    
-    echo "crontab自动更新任务设置完成!"
-    echo "任务将每${interval}分钟自动运行一次 /opt/updatemod.sh"
-    echo "日志文件位置: /var/log/updatemod.log"
-}
-
 copy_files() {
     local mod_path=$1
     local parent_path=$2
@@ -228,8 +182,6 @@ else
     echo "SteamCMD已存在,跳过安装"
 fi
 
-# 设置crontab自动更新任务
-setup_crontab
 
 if [ ! -f "/root/Steam/steamapps/common/DayZServer/DayZServer" ]; then
     echo "DayZServer未安装,开始安装..."