startGameServer.bat / сервер / новый процесс в системе

 
+
-
edit
 

allexx_h

новичок
Вопрос в следующим, можно ли как либо при помощи работающей вашей сборки запустить новый процесс в системе к примеру some.bat т.е. можно как заставить к примеру что при оцередного рестарта он запустился? ведь вы как то стартуете веб сервер и т.п. очень критично для меня.
 
UA MorbidAngel #21.03.2007 18:18
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

:restart
echo.
echo Admin Restart ...
echo.
some.bat
goto start
 
UA SoulKeeper #21.03.2007 18:48
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Вэбсервер является частью сервера, а запуск процесса делается легко.

code text
  1. import java.io.IOException;
  2.  
  3. public class ProcessLauncher
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 if(args.length <= 0)
  8.                 {
  9.                         System.out.println("\nNo programs to lauch found... Restarting server.\n");
  10.                         System.exit(2);
  11.                 }
  12.  
  13.                 for(String s : args)
  14.                 {
  15.                         try
  16.                         {
  17.                                 Runtime.getRuntime().exec(s);
  18.                         }
  19.                         catch(IOException e)
  20.                         {
  21.                                 System.out.println("Can't launch "+s+", error: "+e);
  22.                         }
  23.                 }
  24.                 System.exit(2);
  25.         }
  26. }


запускается примерно так:
"C:\Program Files\Java\jdk1.6.0\bin\java" -server ProcessLauncher "D:\Games\cs1.6\hl.exe -nomaster -game cstrike" "notepad.exe"

В таком случае оно сначала запустит CS, потом notepad, потом себя убьет :)
В стандартном сервере его можно юзать так:

code text
  1. @echo off
  2. :start
  3. TITLE L2 Fortress - Running in ComboMode
  4. echo %DATE% %TIME% Login server is running !!! > login_is_running.tmp
  5. echo Starting L2J Login Server.
  6. echo.
  7. "C:\Program Files\Java\jdk1.6.0\bin\java" -server -Xms128m -Xmx512m -cp bsf.jar;bsh-2.0.jar;javolution.jar;c3p0-0.9.1.jar;mysql-connector-java-5.0.4-bin.jar;jbforth.jar;l2jserver.jar;jython.jar;rrd4j-2.0.1.jar;geosamb.jar; l2f.loginserver.LoginServer
  8. if ERRORLEVEL 2 goto launch_on_restart
  9. if ERRORLEVEL 1 goto error
  10. goto end
  11. :restart
  12. echo.
  13. echo Admin Restart ...
  14. echo.
  15. goto start
  16. :launch_on_restart
  17. "C:\Program Files\Java\jdk1.6.0\bin\java" ProcessLauncher "D:\Games\cs1.6\hl.exe -nomaster -game cstrike" "notepad.exe"
  18. if ERRORLEVEL 2 goto restart
  19. if ERRORLEVEL 1 goto error
  20. goto end
  21. :error
  22. echo.
  23. echo Server terminated abnormaly
  24. echo.
  25. :end
  26. echo.
  27. echo server terminated
  28. echo.
  29. del login_is_running.tmp
  30. pause


P.S. скомпилить не забудь ;) javac ProcessLauncher.java
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
Это сообщение редактировалось 21.03.2007 в 19:03
UA SoulKeeper #21.03.2007 18:53  @MorbidAngel#21.03.2007 18:18
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

MorbidAngel> :restart
MorbidAngel> echo.
MorbidAngel> echo Admin Restart ...
MorbidAngel> echo.
MorbidAngel> some.bat
MorbidAngel> goto start

Запустится some.bat, при этом этот батник прикратит выполнение.
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
Это сообщение редактировалось 21.03.2007 в 18:59
UA MorbidAngel #22.03.2007 13:37  @SoulKeeper#21.03.2007 18:53
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

MorbidAngel>> :restart
MorbidAngel>> echo.
MorbidAngel>> echo Admin Restart ...
MorbidAngel>> echo.
MorbidAngel>> some.bat
MorbidAngel>> goto start
SoulKeeper> Запустится some.bat, при этом этот батник прикратит выполнение.

ну да...пока неотработает.......подходит отлично для запуска бекапа базы при каждом рестарте
 
UA SoulKeeper #22.03.2007 13:47
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Нет нет нет и еше раз нет.

Создаем 2 батника.

В первом
code text
  1. echo bat1
  2. bat2.bat
  3. echo bat1
  4. pause


во втором
code text
  1. echo bat2


после запроса к bat2.bat паузы не будет ;)
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
+
-
edit
 

allexx_h

новичок
Особо благодарен. Про батник думал, но решил спросить, версия с явой отличное решение.
 
UA MorbidAngel #22.03.2007 15:56  @SoulKeeper#22.03.2007 13:47
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

SoulKeeper> Нет нет нет и еше раз нет.
SoulKeeper> Создаем 2 батника.
SoulKeeper> В первом
SoulKeeper> после запроса к bat2.bat паузы не будет ;)


ну обшибся
code text
  1. echo bat1
  2. call bat2.bat
  3. echo bat1
  4. pause


у меня именно таким образом бекап базы реализован
 
UA SoulKeeper #22.03.2007 16:07
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Если писать в самом батнике, то оно продолжит после выполнения, если обратится к другому то умрет ;)
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  
UA MorbidAngel #22.03.2007 16:21  @SoulKeeper#22.03.2007 16:07
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

SoulKeeper> Если писать в самом батнике, то оно продолжит после выполнения, если обратится к другому то умрет ;)

проверь на своем же примере, только вызов бат2 ч-з call
 
UA SoulKeeper #22.03.2007 17:02
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

убедил :D
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  

Drac

разработчик l2j-сервера

Юзайте FireDaemon...
 
+
-
edit
 

allexx_h

новичок
Я остановился на nnCron который подстраивается к La2 серверу пов ремени всё.
Кста крон сам запускается просто (в гейм сервере):
@echo off
:start
TITLE Game Server
echo Starting nnCron
net start nncron
echo %DATE% %TIME% Game server is running !!! > gameserver_is_running.tmp
echo Starting L2J Game Server.
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru