PDA

Просмотр полной версии : Запуск сервера как службы



a11archer
08.04.2014, 11:52
Настройка программы как службы (игровой сервер запускается автоматически при любых сбоях).

NSSM: The non-sucking service manager
Version 2.21.1, 2013-12-03
Для операционных систем ms windows 2012 server x64, 2008 server x64, 2003 server x32,
windows 8 x64, windows 7 x64, windows xp x32.


Документация:

Usage: nssm <option> [args]


To show service installation GUI:

nssm install [<servicename>]

To install a service without confirmation:

nssm install <servicename> <app> [<args>]
nssm.exe "название сервиса к примеру Tehgam31server" "путь к программе и параметры запуска c:\.....steam...\arma3server.exe" "-port=2302 -mod=@one;@two;@three"

To show service removal GUI:

nssm remove [<servicename>]
nssm remove "название удаляемого сервиса к примеру Tehgam31server"
При этом выдает кошко подтверждения удаления и имя удаляемой службы

Чтобы удалить сервис без подтверждения (не рекомендую):

nssm remove <servicename> confirm


Сайт разработчика: http://nssm.cc/download

mexan
08.04.2014, 12:15
Так а вот по подробнее, что это дает?

a11archer
08.04.2014, 13:17
Автономность запуска и отказоустойчивость игры при сбоях.
А именно не требуется запуск программы вручную. (как только включается железка-сервер, запускается игра как серверная служба).
Без этого игра работает как приложение - после сбоя его система автоматически не перезапустит пока не вмешается админ.
Перезапуск же службы выполняется операционной системой автоматически после любого сбоя и также оставляет отчет в событиях приложений.
При необходимости может выполнять связь с системным администратором по почте (smtp) говоря об аварии- :help: .

mexan
08.04.2014, 13:43
Прикольно. А работает с какой ОС?

a11archer
08.04.2014, 17:52
Windows XP, Win7, Win2008, Win 2012 server.

Ricoh
30.07.2014, 18:04
http://www.armaholic.com/page.php?id=26407

Я так понял это типо автономный сервер?

a11archer
12.08.2014, 20:03
Принцип действия этой утилиты прост:
подается на вход в командной строке желаемое имя сервиса для сервера и путь до игрового сервера (причем сразу с параметрами запуска)
изменить количество модов можно только удалив службу и сделав заново
к примеру
c:\
c:\nssm.exe install МояСлужбаСервера1 "c:\nuclearLaunch\redbutton.exe" "-modname=@булова;@S300;@S400;@Т90S;@Sa10Gask in;@Su27.......;@IL76"
а для удаления
c:\nssm.exe remove МояСлужбаСервера1

рабочий пример:



@echo off
echo Help for installing mods on server
echo PRESS any key to resetup mods or close to exit

echo Type nssm remove arma3server, then
echo type nssm install arma3server "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\arma3server.exe" "-port=10110 -config=CONFIG_Vanilla.cfg -world=empty -mod=@CBA_A3;@VTS_Weaponresting;@JSRS2.1;@mas;@mas_ specops"
echo YOU ONLY need to change mod names.

c:\nssm remove arma3server
c:\nssm install arma3server "C:\Program Files (x86)\Steam\SteamApps\common\Arma 3\arma3server.exe" "-port=10110 -config=CONFIG_Vanilla.cfg -cfg=Arma3.cfg -world=empty -malloc=tbb4malloc_bi -bepath=C:\BattlEye -mod=@CBA_A3;@VTS_Ballistic;@VTS_Weaponresting;@VTS _Gesture;@hlcmods;@RH_M4"
echo DONE
pause
c:\nssm.exe
pause

a11archer
13.04.2015, 21:22
перезагрузка arma3server делается при помощи powershell команды
пример настройки powershell на удаленное подключение Win server по tcp 5985, протоколо WinRM (http://vam.in.ua/index.php/it/25-ms-powershell/137-powershell-remote-management.html)

c:\Powershell.exe
c:\Enter-PSSession -ComputerName remotehost33.domain.local -Credential domainName\adminAccount
c:\Restart-Service Arma3serviceName (http://habrahabr.ru/company/netwrix/blog/167171/)

[ATP] TopDen
24.04.2015, 06:40
Эта прога может отслеживать несколько процессов одновременно? Например игру одну, игру другую ?

a11archer
30.04.2015, 22:18
Сервисы автоматически без вмешательства пользователя отслеживают работу всех процессов arma3 на данном хосте. Каждый сервис следит за работоспособностью своего процесса и обработкой его ошибок.
Это автоматизация запуска сервера при его 1) поломке 2) обновлении 3) старте хоста (то есть платформы где он стоит)

про powershell - утилита обслуживания (пуск, стоп, !!!установка новых серверов, ).
Powershell это лишь консоль управления ВСЕМИ сервисами, не только серверами arma3.
Powershell позволяет вручную останавливать и перезапускать любой сервис (а он занимается процессом сервер) на хосте.
увы многофункционального файлменеджера типа midnight Commander в powershell попросту нет, править файлы проще по rdp (перенастройка списка модов идет обычно через .bat файлы.)