#! /bin/bash # 用于开新区 if [[ -z "$1" || ! "$1" =~ ^[0-9]+$ ]]; then echo "错误: 请输入有效的 zone_id (正整数)。" exit 1 fi serverPath=/server #能否获取当前路径作为服务器路径 zone_id=$1 echo -e "获取服务器id: ${zone_id} \n" ################################## declare -A zone_id_name zone_id_name[2]=花开满城 zone_id_name[3]=春暖花开 zone_id_name[4]=云卷云舒 zone_id_name[5]=静夜思归 zone_id_name[6]=海阔天空 zone_id_name[7]=星河灿烂 zone_id_name[8]=鸟语花香 zone_id_name[9]=山明水秀 zone_id_name[10]=岁月静好 zone_id_name[11]=月明如水 ################################## ### 下面xxx修改为需要的路径 to_dir=${serverPath}/bin${zone_id} if [ ! -d "$to_dir" ]; then # 目录不存在,创建目录 mkdir -p "$to_dir" cd $to_dir # 目录不存在,创建目录 mkdir -p "log" ## 复制 Config ,Main,AdminLogic 三个文件 创建common core excel module 四个软链接 cp -r ${serverPath}/bin/script ${to_dir} cp -r ${serverPath}/bin/lua51.dll ${to_dir} cp -r ${serverPath}/bin/logic.exe ${to_dir} cp -r ${serverPath}/bin/logic ${to_dir} cp -r ${serverPath}/bin/libgcc_s_dw2-1.dll ${to_dir} chmod 777 logic rm -rf ${to_dir}/script/common rm -rf ${to_dir}/script/excel rm -rf ${to_dir}/script/module #cp ${serverPath}/bin/script/Config.lua ${serverPath}/bin${zone_id}/script/Config.lua #cp ${serverPath}/bin/script/Main.lua ${serverPath}/bin${zone_id}/script/Main.lua #cp ${serverPath}/bin/script/AdminLogic.lua ${serverPath}/bin${zone_id}/script/AdminLogic.lua ln -s ${serverPath}/bin/script/common ${serverPath}/bin${zone_id}/script/common #ln -s ${serverPath}/bin/script/core ${serverPath}/bin${zone_id}/script/core ln -s ${serverPath}/bin/script/excel ${serverPath}/bin${zone_id}/script/excel ln -s ${serverPath}/bin/script/module ${serverPath}/bin${zone_id}/script/module port=$((8191 + zone_id)) port_admin=$((10000 + zone_id)) database_idx=$((350001 + zone_id)) svr_idx=$((810537 + zone_id)) svrName_idx=$((zone_id - 1)) # 替换配置文件 sed -i "24c\PORT_CLIENT = ${port}" ${to_dir}/script/Config.lua sed -i "25c\PORT_ADMIN = ${port_admin}" ${to_dir}/script/Config.lua sed -i "28c\DB_NAME = \"ckwy_fy_S${database_idx}\"" ${to_dir}/script/Config.lua sed -i "31c\SVR_INDEX = ${svr_idx}" ${to_dir}/script/Config.lua sed -i "32c\SVR_NAME = \"${zone_id_name[$zone_id]}\"" ${to_dir}/script/Config.lua fi #启动服务 echo -e "开始启动服务:${zone_id}\n" cd $to_dir && ./logic