srv_install.sh 2.6 KB

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