Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Город Мастеров _ Шарды рунета _ Поднятие сервера

Автор: Blaze Mar 22 2006, 18:10

Вообщем, стэнд элоун ни разу не поднимал, следовательно, прошу вашей помощи, то бишь нуб гайд. smile.gif

Имеется:
линукс (слакварь 10 вроде)
модуль

Нужно:
автономная работа сервака

Вопрос:
что нужно скачать
в каком порядке что куда подоткнуть

Ну и скрипты к этому делу, чтобы при зависании или чрезмерном лагании сервака авторестарты (неплохо бы к этому делу присовокупить сохранение местоположения персонажа. smile.gif

Кроме доброго слова, отблагодарить ничем не смогу. smile.gif

Автор: Vanes Mar 22 2006, 18:22

спроси Футсила, у них вроде антиальт под линуксом...

Автор: Blaze Mar 22 2006, 18:25

Он активно отмазывается. wink3.gif Забыл он всё уже, ничего не помнит.

QUOTE
futsil (20:02:31 22/03/2006)
не помню уже =)


Меня собственно всё по-порядку интересует.. Говорю ж понятия не имею, что и как и 2 года НВН не запускал вообще. smile.gif

Автор: Richard Mar 22 2006, 18:36

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

Автор: Blaze Mar 22 2006, 18:46

А всякое nwnx - это не про нас, я правильно понимаю? smile.gif
Завтра буду качать, попробую..

Автор: Richard Mar 22 2006, 19:05

Если есть shell до тачки.
wget ссылка
Файлы пошли качаться на сервант.
nwnx2 может и про вас, но не про нас sad.gif( У меня на ФриБСД так и не получилось заставить ее работать.

Автор: Blaze Mar 22 2006, 19:08

QUOTE
Файлы пошли качаться на сервант.

Если бы всё было так хорошо. smile.gif Сервак локальный, качать всё за свой счет. smile.gif Ручками, ручками..

Автор: kreon Mar 22 2006, 20:37

Проверка онлайн ли сервер и авторестарт каждые 4 часа
Необходимо вписать опции

CODE

#!/bin/sh
# (C) kreon 2006
# Autorestart every 4 h
TIME=`date +%s`
while true
do
    NOWTIME=`date +%s`
    if [ `echo $NOWTIME $TIME|awk '{ printf("%d",$1 - $2) }'` -gt 14400 ]
    then
        killall nwserver
        sleep 10
        if [ `ps -A|grep nwserver|cut -d' ' -f1` ]
        then
            killall nwserver -9
            fi
       nohup ./nwserver -options & 2> /dev/null > /dev/null
       TIME=`date +%s`
    fi
    if [ `ps -A|grep nwserver|cut -d' ' -f1` ]
    then
        echo "Server running!"
    else
        nohup ./nwserver -options & 2> /dev/null > /dev/null
        echo "Restrting....!"
    fi
    sleep 600
done

Автор: Richard Mar 23 2006, 05:48

У меня написано тоже самое, только без гемороя.

QUOTE

Проверка онлайн ли сервер

Ты наверное имел ввиду запущен ли процесс?
Если да, то лабуда это ибо сервант может быть запущеным, но висеть smile.gif

И еще
killall nwserver -9 вроде правильней будет killall -9 nwserver. Да и вроде это некорректное завершение работы процесса, крайне некорректное... Как буд-то взял и стукнул молотком smile.gif))


Автор: kreon Mar 23 2006, 08:38

2Richard: а) если ты не заметил, сервер убивается с сигнало 9 ПОСЛЕ того, как его пытаются убить SIGTERM'ом.
Для этого там целый лишний if после killall
б) У тебя 3 скрипта, 1н из них зачем-то на перле.. А у меня 1н smile.gif
И вообще, кто-бы говорил про 9й сигнал, когда у тебя самого killall -kill идёт smile.gif
А порядок в принципе не важен, я сигнал пишу после процесса, так привычнее...

Автор: 2_advanced Mar 23 2006, 12:02

скрипты маздай smile.gif софтом всё нужно делать

CODE

каждые 5 минут:
BYTE bData[]="\x4D\x97\x82\x00\x00\x00\x00\x10\x00\x00\x00\x00";
UINT uData = 12;

если ни чего не приходит в ответ, то сервак умер или завис
}


CODE
или так:
    udp_socket_send($sock, "BNES\x00\x14\x00", 6, $error);
    $data = udp_socket_recv($sock, $error);
    if(!$data || substr($data, 0, 4) != "BNER")
        return null;

    udp_socket_send($sock, "\x42\x4E\x58\x49\x00\x14", 6, $error);
    $data = udp_socket_recv($sock, $error);
    if(!$data || substr($data, 0, 4) != "BNXR")
        return null;

Автор: Richard Mar 23 2006, 16:26

QUOTE(Richard @ Mar 23 2006, 05:48) [snapback]73752[/snapback]

2Richard: а) если ты не заметил, сервер убивается с сигнало 9 ПОСЛЕ того, как его пытаются убить SIGTERM'ом.
Для этого там целый лишний if после killall
б) У тебя 3 скрипта, 1н из них зачем-то на перле.. А у меня 1н
И вообще, кто-бы говорил про 9й сигнал, когда у тебя самого killall -kill идёт
А порядок в принципе не важен, я сигнал пишу после процесса, так привычнее...



...LEX: тут кусочек я удалил. Несодержательный...
Никто не говорит что я великий Линуксоид, но с точки зрения собственного мнения на все происходящее я тебе скажу... Грохнуть один скрипт гораздо легче чем 3, тем более если они на разной основе. Хотя кому надо скрипты грохать, проще сервант smile.gif

QUOTE

9 KILL (non-catchable, non-ignorable kill)


QUOTE

killall -- kill processes by name
The killall utility kills processes selected by name, as opposed to the
selection by pid as done by kill(1). By default, it will send a TERM
signal to all processes with a real UID identical to the caller of
killall that match the name procname. The super-user is allowed to kill
any process.


Судя по мануалу разница есть.

Автор: 2_advanced Mar 23 2006, 16:30

че у вас мания на линуксоиды? маздай форева © да, и его дырявость прямопропорциональна кривости рук админа smile.gif

ps. авторестарт каждые 4 часа идет через убийство процесса? shok.gif
а если на чарсейв попадет?

Автор: Richard Mar 23 2006, 16:42

QUOTE
SlavaZ
18:37:36 TERM - аналог нажатия CTRL+C, можно перехватить в программе, а KILL - сигнал на немедленное завершение программы. В саму программу сигнал даже не доходит.



2адв
Никогда не задумывался почему любая уважающая себя организация держит сервер на Линуксе, а не на Винде? Если не задумывался, то советую и кривые руки админов тут не причем.

Автор: 2_advanced Mar 23 2006, 16:53

просто админы, сидящие под маздаем полагаются во всем на дядю билла, а не на свои руки (кривые smile.gif )

Автор: Vanes Mar 23 2006, 18:20

QUOTE
Никогда не задумывался почему любая уважающая себя организация держит сервер на Линуксе, а не на Винде? Если не задумывался, то советую и кривые руки админов тут не причем.

не факт... у нас сервак на винде стоит, и после написания нужного софта проблем со стабильностью не замечалось...
а еще можно вспомнить сервак Темплара - самый стабильный сервак за всю историю НВН, который неделями без рестартов не падал (и это было еще до СОУ) - тоже на винде стоял...

Автор: Richard Mar 23 2006, 19:13

Не рассказывай мне про Темплар smile.gif Я там ДМом был smile.gif
Я знаю что такое виндовый сервак и знаю что значит его положить. Ну впрочем я свою точку зрения не навязываю.

Автор: 2_advanced Mar 23 2006, 19:15

я за винду т.к.
1. ставишь свой обработчик ошибок и избавляешься от большинства причин падений
2. многопоточность через 1 АПИ - CreateThread -> нетормозящая прокся между клиентом/сервером для обработки пакетов
3. рестарт сервера через SendMessage - автосохр. чаров и т.п.
4. опыт работы с маздаем больше (да, я нуб prankster2.gif )

Автор: Vanes Mar 23 2006, 19:46

QUOTE
Не рассказывай мне про Темплар (IMG:style_emoticons/kolobok_light/smile.gif) Я там ДМом был

странно... даже волгоградцы тебя не помнят...
хотя был на моей памяти какой то ДМ из москвы, нуб РПшник - не ты случаем ???

QUOTE
Я знаю что такое виндовый сервак и знаю что значит его положить. Ну впрочем я свою точку зрения не навязываю.

если ты был на Темпларе, то думаю не будешь отрицать, что там сервак неделями не падал ??? если его специально не роняли конечно...

Автор: Richard Mar 23 2006, 20:03

Vanes
Мы с моим друганом там по очереди ДМили под одним ником. Я впрочем там не квестил. Квестил он. Я больше мир изучал. DM_Sephirot. Но мы не из Москвыsmile.gif Хотя хз что он там Админу наплел тогда. Но по крайней мере это наверное было лучше чем ничего.

ПС: На счет Креона, так я его уважаю, потому что человек отстаивает свое мнение. Рабочий спор. Думаю все ок smile.gif У меня по крайней мере притензий нет. Каждый делает свой сервер как удобнее ему.

Автор: Lex Mar 23 2006, 20:31

Господа, к слову:
"3.2. Переход во время дискуссий границ вежливости, грубые, нецензурные выражения и оскорбления в любой форме"
Правила форума, запреты. Наказание вплоть до 14 дней отключки.

Я чутка почистил тему, но это все очень не хорошо. Не переходите на личности. Пока устные замечания.

Автор: Richard Mar 23 2006, 20:50

Ок. Сорри, не хотел хамить. Болше не повторится.
По теме, я выложил наработки НД с целтю помочь автору... Ибо он испытывает трудности с пониманием неких тонкостей на мой взгляд, хотя опять же я не спец. Чем богаты тем и рады.

Автор: virusman Mar 24 2006, 11:41

Сначала скрипт посылает сигнал TERM, потом, если через 10 секунд не помогло - KILL.
TERM просит программу завершится. KILL убивает процесс без каких-либо вопросов.
Утилиты kill и killall различаются в основном только по аргументу: первый посылает сигнал процессу по PID, другой - по имени.

Автор: Richard Mar 24 2006, 11:54

Вопрос стоял в том есть ли отличие между killall -kill и killall -9 ?
Проанализировав мануал, я понял что есть.

Автор: virusman Mar 24 2006, 14:01

killall -kill и killall -9 = что в лоб, что по лбу. smile.gif

Автор: Richard Mar 24 2006, 17:45

Хмм... Что-то не верится. Почитаю еще мануалы чтобы самому удостовериться и скажу точно.

Как я и говорил.
Используя killall -9, вы убиваете все процессы, связанные с ним. То есть это грубое убийство процесса.
Используя killall -kill, вы убиваете процесс по PID вроде как.

Автор: 2_advanced Mar 24 2006, 18:04

втопку мануалы
бсд - опенсурс smile.gif

Автор: Richard Mar 24 2006, 18:24

Вопрос закрыли. Я был неправ. Это одна и та же команда.

Автор: Richard Mar 25 2006, 18:49

А вообще какие есть варианты написания (хотя бы в теории) скрипта авторестарта, но не бональным убийством процесса.

Автор: 2_advanced Mar 25 2006, 19:20

CODE
HWND hWnd = FindWindow("Exo - BioWare Corp., (c) 1999 - Generic Blank Application", NULL);
if(hWnd)
    SendMessage(hWnd, WM_CLOSE, 0, 0);
prankster2.gif

Автор: Richard Mar 26 2006, 16:35

Насколько я понимаю это для винды?!

Автор: [MoF]Darth_Nick Mar 26 2006, 17:24

угу, это же winapi

Автор: kreon Apr 1 2006, 05:44

Да впринципе всё просто.
Запускаем процесс, форкаемся, в чилде перенаправляем стандартные I/O куда-нить и exec'аем nwserver.
А в родительском процессе читаем и пишем серверу...
Меня кто-нибудь понял? crazy.gif
--
man fork
man exec
man dup2fd
man pipe

Автор: 2_advanced Apr 1 2006, 14:48

мне больше нравятся красивенькие окошечки crazy.gif

как в линуксоидах создавать потоки и обрабатывать ошибки? scratch_one-s_head.gif

Автор: kreon Apr 1 2006, 16:33

В *nix есть различные схемы мультипоточной работы.
Наиболее простая это fork() (вилка, англ.) - создание полной копии процесса-родителя.

CODE

void main() {
int pid = fork();
if(!pid) {
  // pid = 0 - означает, что мы даём команды потомку
} else {
  // pid = PID потомка, != 0, это тело родителя
}
}

В потомок форк возвращяет 0, в родитель - PID потомка, а т.к. новый процесс является ПОЛНОЙ копией родителя, то так и отслеживают, кому какие команды выполнять.
Теперь о nwserver'е... Выглядит это примерно так
CODE

void main() {
int fd[2];
int pid;
pipe(fd);
pid = fork();
if(!pid) {
  char *nwserver[] = {"nwserver", "-module", "modulename", "-pvp", "2", "-servervault", "1"};
  close(0); // отключить стандартный ввод
  close(1); // отключить стандартный вывод
  dup2(fd[1], 0); // сделать fd[1] стандартным потоком ввода
  execvp("./nwserver", nwserver);
  perror("execvp()"); // если execvp не удался, то процесс идёт дальше
  exit(1); // и эта
} else {
  while(1) {
   sleep(14400);
   write(fd[0], "module modulename", strlen("module modulename"));
  }
}
}

Вот так примерно smile.gif


Автор: Richard Apr 1 2006, 21:26

Ну с fork() я немного имел дело, но суть так не понял.

Автор: 2_advanced Apr 2 2006, 05:33

я про то, что вот есть у нас прокся (перенаправлялка пакетов или типа того)..
и хочется на каждого клиента отдельные потоки создать, а не бесконечным циклом последовательно обрабатывать каждого..
и прокся эта в адресном пространстве процесса сервера должна быть и делать с ним что хочет
(обрабатывать клиентов, следить за ошибками и т.п.)

в маздае все это делается с 2х апи, а в линуксоидах - х.з.. нужно код смореть самому rtfm.gif sorry.gif

Автор: kreon Apr 2 2006, 16:01

2_advanced, именно форками обычно и делается...

CODE

void main() {
int socket;
int newfd;
struct sockaddr_in server, client; // то-же что и SOCKADDR в Win
//...
// тут создаём сокет и всё такое, прописываем структуры, биндим сокет
// man socket
// man bind
// man listen
while(1) {
  newfd = accept(socket, (struct sockaddr *)&client, sizeof(client));
  if(!fork()) { // создаём потомка, код для потомка
   close(socket); // закрываем listen-сокет (внутри потомка, для родителя он открыт)
   // тут делаем перенаправление для конкретного клиента
  } else { // код для родителя
   close(newfd); // закрываем сокет на нового клиента, управление мы передали потомку
  }
}
}

Вот примерно так. Это для сервера.
Для клиента обычно используются не форки, а обычные треды, -lpthread опция для gcc... В принципе треды - те-же яйца только сбоку, там всё как в M$. А форк - родная никсовая фича.

Автор: alMuk Apr 2 2006, 16:05

QUOTE
Ну с fork() я немного имел дело, но суть так не понял.


создает точную копию процесса. Разница между родительским и дочерним процессом в pid, т.е программа может отследить кто родитель а кто потомок по pid. Если pid = 0 то идет ветка потомка, иначе продолжается ветка родителя. На этом принципе построена вся многопоточность в NIX системах.

CODE
void main() {
int pid = fork();
if(!pid) {
  // pid = 0 - означает, что мы даём команды потомку, т.е. тут исполняется ветка потомка.
} else {
  // pid = PID потомка, != 0, это тело родителя, т.е. тут продолжается ветка родителя.
}
}



если нужно запустить новую программу, то используется exec(...), который полностью затирает текущий процес загружаемой программой. Т.е. fork() в связке с exec() в дочерней ветви запустит новую программу.

Автор: 2_advanced Apr 13 2006, 03:20

вернемся к старому корыту
вот ковырял маздай и наткнулся там на SwapContext - хрень, переключающую текущие потоки
так вот в линуксоидах оно тоже есть:
http://lib.training.ru/Lib/ArticleDetail.aspx?ar=3579&l=&mi=106&mic=363
об этом я и говорил

a всякие форки это типа запустил копию процесса, получив его id или узнал, что ты клон drag.gif
как это поможет сидя в одном адресном пространстве *параллельно* и многократно выполнять инструкции я х.з..

ушел учить матчасть drag.gif

Автор: Blaze Apr 22 2006, 10:14

Проблема следующая.. Т.к. из админа клещами слова не вытянешь, то придётся говорить максимально абстрактно.

Проблема с доступом. Есть несколько подсетей типа 192,168,х,х. При включеном впн соединении (инет у нас так раздаётся) доступ по адресам ххх.блабла.ру бесплатный. На практике доступ к серверу НВНа получался только либо по локальному ип (192,168,х.у), либо по 62,тык-тык-тык, то есть по платному инету.. А надо (в силу определённой специфики) по бесплатному (нвн.блабла.ру).

Подробнее сказать не могу, см. выше про клещи. Подскажите, куда рыть, может кто сталкивался с подобным? Или что мне надо узнать и написать сюда, чтобы вы могли ответить на этот вопрос?

Автор: kreon Apr 22 2006, 12:52

Выводы /sbin/ifconfig -a и /sbin/route -n в студию

Автор: helvene Apr 22 2006, 17:09

kreon, а вы уверены, что сервак линуксовый?

Автор: [MoF]Darth_Nick Apr 22 2006, 18:12

если судить по первому посту, то линуксовый

Автор: kreon Apr 22 2006, 22:52

Угу wacko.gif У нас тут *nix-обсуждение, и в первом посте автор это и указал.. Вряд-ли он так часто меняет сервера biggrin.gif
Кстати, route работает и в винде
А вместо ifconfig можно использовать ipconfig aggressive.gif

Автор: helvene Apr 22 2006, 23:03

Я балда!

Автор: Richard May 12 2006, 21:15

Опять насущен вопрос по поводу отучалки нвсервера проверять ключи на валидность.
Так вот если забивать в нвсервер всяким хламом строку ^F_RGASE@SY^ERFU|RWT и XEWTMGX..A.[[WVT.SY]E.SW^ то затем при запуске нвсервера вылетает ошибка Segmentation fault (core dumped).
Подскажите, мож где ошибся... Просто другого выхода кроме как так гемороиться у меня нет.

Автор: kreon May 12 2006, 23:32

Версия какая? Для 65 могу дать фикс, для 66 и 67 знаю только "фаервольный" метод... или хук connect(3) wink3.gif

Автор: virusman May 13 2006, 00:31

QUOTE(Richard @ May 12 2006, 22:15) [snapback]81497[/snapback]

Опять насущен вопрос по поводу отучалки нвсервера проверять ключи на валидность.
Так вот если забивать в нвсервер всяким хламом строку ^F_RGASE@SY^ERFU|RWT и XEWTMGX..A.[[WVT.SY]E.SW^ то затем при запуске нвсервера вылетает ошибка Segmentation fault (core dumped).
Подскажите, мож где ошибся... Просто другого выхода кроме как так гемороиться у меня нет.

Значит, перестарался. Затирай лучше нулями циферки, которые за ними следуют.
А вот айпишники ты оттуда фиг вытащишь.. Они там хитро спрятаны. smile.gif

Автор: Richard May 13 2006, 09:02


kreon
Версия 1.67.
virusman
Ок. Попробую.

Затер нулями циферки. Сервант запустился, но проверка осталась. Видно еще где то запрятано.

Автор: virusman May 13 2006, 10:16

QUOTE(Richard @ May 13 2006, 10:02) [snapback]81549[/snapback]

Затер нулями циферки. Сервант запустился, но проверка осталась. Видно еще где то запрятано.

Там 3 уровня защиты:
1. Адреса, написанные открыто.
2. Зашифрованные адреса.
3. Айпишники, вшитые в код.

Автор: Richard May 13 2006, 11:33

Это все конечно хорошо, но че делать то? bad.gif

Автор: kreon May 13 2006, 20:47

Прикрыть ипы в фаерволе или захучить сетевые функции юникса smile.gif
Или в дебаггере найти место где проверка и заnop'ить всю функцию нафиг

Автор: 2_advanced May 17 2006, 01:51

не сморел, но имхо IP можно найти лапками - по 4 байтам и поменять на FFFFFFFF

Автор: virusman May 17 2006, 09:13

QUOTE
не сморел, но имхо IP можно найти лапками - по 4 байтам и поменять на FFFFFFFF
Ага, щаз. wink3.gif
CODE
.text:080A9D90 ipshneg1:                            ; CODE XREF: ipshneg+3Ej
.text:080A9D90                 mov     dword ptr [esi+10028h], 1
.text:080A9D9A                 sub     esp, 0Ch
.text:080A9D9D                 push    dword_83151D8
.text:080A9DA3                 mov     [ebp+var_4C], 3Ah
.text:080A9DA7                 mov     [ebp+var_51], 31h
.text:080A9DAB                 mov     [ebp+var_57], 36h
.text:080A9DAF                 mov     [ebp+var_47], 0
.text:080A9DB3                 mov     [ebp+var_4B], 35h
.text:080A9DB7                 mov     [ebp+var_55], 32h
.text:080A9DBB                 mov     [ebp+var_4D], 39h
.text:080A9DBF                 mov     [ebp+var_48], 31h
.text:080A9DC3                 mov     [ebp+var_56], 2Eh
.text:080A9DC7                 mov     [ebp+var_50], 39h
.text:080A9DCB                 mov     [ebp+var_4A], 31h
.text:080A9DCF                 mov     [ebp+var_53], 34h
.text:080A9DD3                 mov     [ebp+var_52], 2Eh
.text:080A9DD7                 mov     [ebp+var_4F], 33h
.text:080A9DDB                 mov     [ebp+var_58], 36h
.text:080A9DDF                 mov     [ebp+var_54], 34h
.text:080A9DE3                 mov     [ebp+var_4E], 2Eh
.text:080A9DE7                 mov     [ebp+var_49], 32h
Адреса из 1.66, но в 1.67 всё то же самое.

Автор: 2_advanced May 17 2006, 15:18

ну типа побайтно.. =Р x[0] = 123; x[1] = 234.... sad.gif делали они это все минут за 5 и пофиг на размер/скорость выполнения и т.п.

Автор: dumbo May 17 2006, 17:10

QUOTE(2_advanced @ May 17 2006, 16:18) [snapback]82029[/snapback]
ну типа побайтно.. =Р x[0] = 123; x[1] = 234....

ну почти... тут даже не "побайтно" заполняется структура айпишнега, а посимвольно его строковое представление:
s[0] = '1'; s[1] = '9'; s[2] = '2'; s[3] = '.'; ... и, уже чтобы остановить мега-хакеров, перемешали порядок присвоения букав.

один из распространенных простых способов борьбы с кул-хацкерами... mosking.gif
а скорость и размер - это, в наше дикое время, удел каких-нибудь "512b intro compo" crazy.gif

Автор: virusman May 17 2006, 18:45

Пофиксенный (фикс скиллчеков) и отвязанный нахрен от всех проверок ключей бинарник (по-видимому.. т.к. без файрволла не тестил). crazy.gif
http://axistown.virusman.ru/files/patches/nwserver_1.67_pached&cracked.rar

Автор: Richard May 17 2006, 20:21

Протестировано. Работает на ура! Респект Вирусману good.gif

Автор: 2_advanced May 18 2006, 15:52

а патч на маздайский сервер? cray.gif хнык

Автор: virusman May 18 2006, 18:53

А на маздайском сервере ничего и не глючило.

Автор: Richard May 19 2006, 12:03

Уж не знаю из за чего, но сервант падает каждые несколько минут. Сдается мне что именно из за исправлений в nwserver.

Автор: virusman May 19 2006, 12:56

На Экзисе стоит тот же самый бинарник, который я выложил. Ничего не падает.

Автор: Richard May 19 2006, 19:21

С дефолтовым бинарником падений нет =) Аксис тоже лежит =) shout.gif

Автор: Richard May 20 2006, 13:28

Тест показал что при замазывании айпишек была где-то допущена ошибка, в связи с которой сервант падает.

Автор: virusman May 20 2006, 20:19

QUOTE(Richard @ May 20 2006, 14:28) [snapback]82374[/snapback]

Тест показал что при замазывании айпишек была где-то допущена ошибка, в связи с которой сервант падает.
*на некоторых системах.
Когда будет время - попробую по-другому.

Автор: Kexibq May 26 2006, 10:23

Где в наше время достать linux_serverupdate 1.66, упомянутый в 4ом посте данного сабжа? scratch_one-s_head.gif

Автор: virusman May 26 2006, 16:37

Качай сразу 1.67 Dedicated Server.

Автор: virusman Jun 18 2006, 22:38

В крякнутом бинарнике действительно была бага. Исправленный вариант перезалит.
http://axistown.virusman.ru/files/patches/nwserver_1.67_pached&cracked.rar

Автор: BoB4ik Oct 27 2006, 12:28

Слушайте, очень надо, можете такое-же но на 1.68 выложить. Вот проблема:

QUOTE
Доброе Время Суток,

У меня повился очень важный для меня вопрос.
Что делать, если... (?)

Вобщем, ситуация следущая:
Месяц назад упала машина, на который стоит наш сервер, она находится у одного провайдера в серверной, и физическйи доступ к ней имеют, соответственно только определенные лица, к которым я не отношусь.

Машину подняли, но настроики рутера сбились и сейчас на шард не пускают простых игроков с неоригинальными ключами. Я попросил поднять настроики рутера, но тут вяснилось, что рут аксеса, как бы ни у кого нету, у всех у кого он был, он слетел, потерялся, заврался, и все такое. Пробовали разные махинации, но толку никакого нету, нужные аипи не заблокировать. Фаирволл не поставить, так как ему тоже нужен рут, к рутеру доступа нету, в итоге практически никто не может играть.
Сказали что посмотрят и все наладят, но потом сказали, что времени нету, и вот сервер уже больше месяца стоит в гордом одиночестве.
Ломать сервер не желательно, так как нам его как бы выделили, так что вариант взлома даже не рассматривается.
Кто-нибудь может что посоветовать, или помочь?
Например, может в самом сервере, можно как то убрать кусок кода, который обращается к серверам биовара, или другим способом заблокировать нужные адреса?

Вон Jumbo, как то делал антиальт, изменив клиент сервера, можно ли так-же убрать обращаение сервера к Bioware?

Сервер версии 1.68.

Вариант менять провайдера, не особо приветсвуется, так что, прошу Вашей помощи, уважаемые, надеюсь что сможете помочь...


Хотел это запостить в отдельную тему, но тут мне один человек дал ссылку на эту, я вижу что это все же возможно, Virusman, все кто могут помочь, помогите пожалуйтса... (!)

Автор: virusman Oct 27 2006, 19:36

Могу сделать, но, увы, только после 6 ноября.

Автор: BoB4ik Oct 27 2006, 23:13

QUOTE(virusman @ Oct 27 2006, 19:36) [snapback]96021[/snapback]

Могу сделать, но, увы, только после 6 ноября.

Хорошо, спасибо, что хоть после 6-ого - буду ждать.

Автор: BoB4ik Nov 15 2006, 12:52

QUOTE(BoB4ik @ Oct 28 2006, 00:13) [snapback]96039[/snapback]

Хорошо, спасибо, что хоть после 6-ого - буду ждать.

Вирусмен, ну сделаешь?

Автор: Zik Dec 13 2006, 11:35

Есть ли знаток линукса который мог бы помочь с поднятием сервера? Установленный нвн и сервер есть, но в линуксе я не разбираюсь совсем. Хотелось бы попросить помощи, надо просто поднять и сказать как делать рестарт smile.gif

Автор: Roza Dec 13 2006, 13:16

Мист же вроде подняли, только с версией 1.68 проверка на сд-кеи появилась...

Автор: virusman Dec 13 2006, 16:26

Стучитесь в аську.
За избавлением от проверки ключа - тоже. smile.gif

UPD: Кому надо - держите крякнутый бинарник 1.68. smile.gif
http://axistown.virusman.ru/files/patches/nwserver-1.68_cracked.rar

Автор: teCa Aug 23 2009, 10:16

Всем привет, а для 1.69 есть у кого нибудь крак?

Автор: Phenomen Aug 23 2009, 21:49

Цитата(teCa @ Aug 23 2009, 11:16) *
Всем привет, а для 1.69 есть у кого нибудь крак?
http://axistown.virusman.ru/files/patches/nwserver-1.69-win32-cracked.rar

Автор: teCa Aug 24 2009, 11:08

Сори, не уточнил, нужен крак под Linux

Ок, нашел тамже. Спаибо!

Автор: teCa Aug 24 2009, 22:28

Ребят, объясните плз как модули подгружать и дайте какой нибудь простенький для примера?

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)