伪笑
RT
我需要一个bat脚本来启动我所有的子服
需要怎么做?


ysy960108
创建一个bat文件,内容按照以下格式
  1. [url=home.php?mod=space&uid=39305]@echo[/url] off
  2. cd 盘符:\子服A所在目录
  3. start 子服A.bat

  4. cd 盘符:\子服B所在目录
  5. start 子服B.bat

  6. cd 盘符:\子服C所在目录
  7. start 子服C.bat
复制代码


比如说服务端都在D:/server/,子服文件夹分别是s1,s2,s3,3个启动脚本都是‘启动服务器.bat’,那么就这么写:
  1. @echo off
  2. cd D:\server\s1
  3. start 启动服务器.bat

  4. cd D:\server\s2
  5. start 启动服务器.bat

  6. cd D:\server\s3
  7. start 启动服务器.bat
复制代码

伪笑
ysy960108 发表于 2017-1-23 23:52
创建一个bat文件,内容按照以下格式

那如果子服就在D盘要怎么弄,cd代表什么意思

minecraft菜鸟..
这里有一个很不错的BAT,在服务器崩溃、关闭后自动重启,并且无需指定java路径


  1. [url=home.php?mod=space&uid=39305]@echo[/url] OFF

  2. Title TimeCraft Survive_TimeCity
  3. color 02
  4. :restart
  5. java -Xms1024M -Xmx2048M -XX:+AggressiveOpts -jar Start.jar


  6. echo 自动重启倒计时 5 秒
  7. ping -n 2 -w 500 0.0.0.1>nul
  8. echo 自动重启倒计时 4 秒
  9. ping -n 2 -w 500 0.0.0.1>nul
  10. echo 自动重启倒计时 3 秒
  11. ping -n 2 -w 500 0.0.0.1>nul
  12. echo 自动重启倒计时 2 秒
  13. ping -n 2 -w 500 0.0.0.1>nul
  14. echo 自动重启倒计时 1 秒
  15. ping -n 2 -w 500 0.0.0.1>nul
  16. goto restart
复制代码

minecraft菜鸟..
minecraft菜鸟.. 发表于 2017-1-24 12:03
这里有一个很不错的BAT,在服务器崩溃、关闭后自动重启,并且无需指定java路径

第6行开头的Java是直接调用Java,要求Java必须正常安装,不能是绿色版
第3行title后面可以改成你服务器的名字,显示在bat标题
第6行后面Xms是最小内存 -Xmx是最大内存

后面是自动重启的相关命令

BobPlayer
伪笑 发表于 2017-1-24 10:56
那如果子服就在D盘要怎么弄,cd代表什么意思

cd代表切换命令行目录
比如当前文件夹下有s1子服
那么直接cd s1
然后start xxx.bat文件就好
start的意思是新开命令行
因为如果直接打开就需要等待一个子服关闭后再开启其他子服
这显然不是我们需要的
沙发的配置是绝对路径
可以使用cd ../s2来返回上级目录
../的意思是上个文件夹下面的文件夹

ysy960108
伪笑 发表于 2017-1-24 03:56
那如果子服就在D盘要怎么弄,cd代表什么意思

你只需要给每个子服创建单独的启动bat脚本,自动重启/内存分配什么的都是每个子服的脚本单独设定,而这个一键开所有子服的脚本的功能仅是一次性运行每个子服的bat文件,原理是进入每个子服的开服目录(就是cd),然后直接跑bat,就是这么简单,不需要修改原有子服的脚本,也不需要别的设定,亲测有效。
另外每次用绝对路径只是为了看起来更直观。
你的子服直接在D盘,不影响脚本的格式,因为你只需要每个子服的bat所在的文件夹目录,在D:\和在D:\server没有本质区别
我假定你有4个子服,分别在s1 s2 s3 s4,s1的bat叫做'运行服务器.bat',s2-s4的bat都叫'启动服务器.bat'
  1. [url=home.php?mod=space&uid=39305]@echo[/url] off <--论坛bug,这一行无视掉
  2. @echo off
  3. cd D:\s1
  4. start 运行服务器.bat

  5. cd D:\s2
  6. start 启动服务器.bat

  7. cd D:\s3
  8. start 启动服务器.bat

  9. cd D:\s4
  10. start 启动服务器.bat
复制代码


不知LZ是否能够理解?如果还是有疑问,可以私信我。

786071433
在bat的前几行加上
start 路径

start D:\启动器.bat
类似这样。有多少服务器就加多少。