![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Вообщем, стэнд элоун ни разу не поднимал, следовательно, прошу вашей помощи, то бишь нуб гайд. (IMG:style_emoticons/kolobok_light/smile.gif)
Имеется: линукс (слакварь 10 вроде) модуль Нужно: автономная работа сервака Вопрос: что нужно скачать в каком порядке что куда подоткнуть Ну и скрипты к этому делу, чтобы при зависании или чрезмерном лагании сервака авторестарты (неплохо бы к этому делу присовокупить сохранение местоположения персонажа. (IMG:style_emoticons/kolobok_light/smile.gif) Кроме доброго слова, отблагодарить ничем не смогу. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Blaze - Mar 22 2006, 18:43 |
![]() |
![]()
Сообщение
#2
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
QUOTE Имеется: линукс (слакварь 10 вроде, но точно не знаю), стоящий у провайдера модуль Непонял если честно. Да это и неважно QUOTE Нужно: автономная работа сервака Качаешь архив stand-alone server с биоваров. Распаковать, затем распоковать линуксовые бинарники. Но так как у некоторых из них кривые руки и отсутствие мозгов, то тебе придется скачать еще linux_serverupdate 1.66 если конечно 1.66 версию будешь ставить. Тогда сервер запустится. В противном случае будет выносить ошибку. QUOTE Ну и скрипты к этому делу, чтобы при зависании или чрезмерном лагании сервака авторестарты (неплохо бы к этому делу присовокупить сохранение местоположения персонажа. Скрипт автоподнятия CODE #!/usr/local/bin/perl -W sub isRunning() { $pcount = `pgrep nwserver | wc -l`; $pcount =~ s/\s//g; return $pcount; } while(1) { if(isRunning() eq "0") { system("Команда запуска сервера."); } sleep(5); } Рекомендую юзать скрин в команде запуска, по крайней мере мне удобнее Скрипт против зависания. Необходимо в nwnplayer.ini поставить 1 напротив опции heartbeat logging. CODE #!/bin/sh LOG_FILE=./logs.0/nwserverLog1.txt NWN_SERVER_NAME=nwserver line_count=`cat ${LOG_FILE} | wc -c` line_c_new=$line_count while [ 1 ] do sleep 20; line_count=$line_c_new; line_c_new=`cat ${LOG_FILE} | wc -c`; if [ $line_count = $line_c_new ]; then echo "Killing that bitch ${line_count} was, ${line_c_new} became."; killall -kill $NWN_SERVER_NAME; else echo "Not touching yet, ${line_count} was, now ${line_c_new}."; fi done Если лог не изменяется процесс убивается и запускается автоподнятие Скрипт авторестарта. очень сложная задача. Лично у меня реализовано на бональном убийстве процесса через определенный промежуток времени.. Но при этом в модуле надо сделать пропись экспорта чаров к примеру каждые 3 минуты. Тогда избежишь откатов. Реализация самого авторестарта может осуществляться как с помощью кроны (редактирование crontab -e ), так и скриптом. CODE #!/bin/sh NWN_SERVER_NAME=nwserver while [ 1 ]; do killall -kill $NWN_SERVER_NAME sleep время_в_секундах; done Сообщение отредактировал Richard - Mar 22 2006, 18:37 |
![]() ![]() |
Текстовая версия | Сейчас: 27th April 2025 - 08:49 |