srv_install.sh 2.4 KB

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