![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 11 ![]() Класс: Вор Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] Validor2 ![]() |
спроси Футсила, у них вроде антиальт под линуксом...
|
![]()
Сообщение
#3
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Он активно отмазывается. (IMG:style_emoticons/kolobok_light/wink3.gif) Забыл он всё уже, ничего не помнит.
QUOTE futsil (20:02:31 22/03/2006) не помню уже =) Меня собственно всё по-порядку интересует.. Говорю ж понятия не имею, что и как и 2 года НВН не запускал вообще. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#4
|
|
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 |
![]()
Сообщение
#5
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
А всякое nwnx - это не про нас, я правильно понимаю? (IMG:style_emoticons/kolobok_light/smile.gif)
Завтра буду качать, попробую.. |
![]()
Сообщение
#6
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Если есть shell до тачки.
wget ссылка Файлы пошли качаться на сервант. nwnx2 может и про вас, но не про нас (IMG:style_emoticons/kolobok_light/sad.gif) ( У меня на ФриБСД так и не получилось заставить ее работать. |
![]()
Сообщение
#7
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
QUOTE Файлы пошли качаться на сервант. Если бы всё было так хорошо. (IMG:style_emoticons/kolobok_light/smile.gif) Сервак локальный, качать всё за свой счет. (IMG:style_emoticons/kolobok_light/smile.gif) Ручками, ручками.. |
![]()
Сообщение
#8
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Проверка онлайн ли сервер и авторестарт каждые 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 Сообщение отредактировал kreon - Mar 22 2006, 20:40 |
![]()
Сообщение
#9
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
У меня написано тоже самое, только без гемороя.
QUOTE Проверка онлайн ли сервер Ты наверное имел ввиду запущен ли процесс? Если да, то лабуда это ибо сервант может быть запущеным, но висеть (IMG:style_emoticons/kolobok_light/smile.gif) И еще killall nwserver -9 вроде правильней будет killall -9 nwserver. Да и вроде это некорректное завершение работы процесса, крайне некорректное... Как буд-то взял и стукнул молотком (IMG:style_emoticons/kolobok_light/smile.gif) )) Сообщение отредактировал Richard - Mar 23 2006, 05:48 |
![]()
Сообщение
#10
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
2Richard: а) если ты не заметил, сервер убивается с сигнало 9 ПОСЛЕ того, как его пытаются убить SIGTERM'ом.
Для этого там целый лишний if после killall б) У тебя 3 скрипта, 1н из них зачем-то на перле.. А у меня 1н (IMG:style_emoticons/kolobok_light/smile.gif) И вообще, кто-бы говорил про 9й сигнал, когда у тебя самого killall -kill идёт (IMG:style_emoticons/kolobok_light/smile.gif) А порядок в принципе не важен, я сигнал пишу после процесса, так привычнее... Сообщение отредактировал kreon - Mar 23 2006, 08:42 |
![]()
Сообщение
#11
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
скрипты маздай (IMG:style_emoticons/kolobok_light/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; |
![]()
Сообщение
#12
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
QUOTE(Richard @ Mar 23 2006, 05:48) [snapback]73752[/snapback] 2Richard: а) если ты не заметил, сервер убивается с сигнало 9 ПОСЛЕ того, как его пытаются убить SIGTERM'ом. Для этого там целый лишний if после killall б) У тебя 3 скрипта, 1н из них зачем-то на перле.. А у меня 1н И вообще, кто-бы говорил про 9й сигнал, когда у тебя самого killall -kill идёт А порядок в принципе не важен, я сигнал пишу после процесса, так привычнее... ...LEX: тут кусочек я удалил. Несодержательный... Никто не говорит что я великий Линуксоид, но с точки зрения собственного мнения на все происходящее я тебе скажу... Грохнуть один скрипт гораздо легче чем 3, тем более если они на разной основе. Хотя кому надо скрипты грохать, проще сервант (IMG:style_emoticons/kolobok_light/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. Судя по мануалу разница есть. Сообщение отредактировал Lex - Mar 23 2006, 20:10 |
![]()
Сообщение
#13
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
че у вас мания на линуксоиды? маздай форева © да, и его дырявость прямопропорциональна кривости рук админа (IMG:style_emoticons/kolobok_light/smile.gif)
ps. авторестарт каждые 4 часа идет через убийство процесса? (IMG:style_emoticons/kolobok_light/shok.gif) а если на чарсейв попадет? |
![]()
Сообщение
#14
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
QUOTE SlavaZ 18:37:36 TERM - аналог нажатия CTRL+C, можно перехватить в программе, а KILL - сигнал на немедленное завершение программы. В саму программу сигнал даже не доходит. 2адв Никогда не задумывался почему любая уважающая себя организация держит сервер на Линуксе, а не на Винде? Если не задумывался, то советую и кривые руки админов тут не причем. Сообщение отредактировал Richard - Mar 23 2006, 16:42 |
![]()
Сообщение
#15
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
просто админы, сидящие под маздаем полагаются во всем на дядю билла, а не на свои руки (кривые (IMG:style_emoticons/kolobok_light/smile.gif) )
|
![]()
Сообщение
#16
|
|
Level 11 ![]() Класс: Вор Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] Validor2 ![]() |
QUOTE Никогда не задумывался почему любая уважающая себя организация держит сервер на Линуксе, а не на Винде? Если не задумывался, то советую и кривые руки админов тут не причем. не факт... у нас сервак на винде стоит, и после написания нужного софта проблем со стабильностью не замечалось... а еще можно вспомнить сервак Темплара - самый стабильный сервак за всю историю НВН, который неделями без рестартов не падал (и это было еще до СОУ) - тоже на винде стоял... |
![]()
Сообщение
#17
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Не рассказывай мне про Темплар (IMG:style_emoticons/kolobok_light/smile.gif) Я там ДМом был (IMG:style_emoticons/kolobok_light/smile.gif)
Я знаю что такое виндовый сервак и знаю что значит его положить. Ну впрочем я свою точку зрения не навязываю. |
![]()
Сообщение
#18
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
я за винду т.к.
1. ставишь свой обработчик ошибок и избавляешься от большинства причин падений 2. многопоточность через 1 АПИ - CreateThread -> нетормозящая прокся между клиентом/сервером для обработки пакетов 3. рестарт сервера через SendMessage - автосохр. чаров и т.п. 4. опыт работы с маздаем больше (да, я нуб (IMG:style_emoticons/kolobok_light/prankster2.gif) ) |
![]()
Сообщение
#19
|
|
Level 11 ![]() Класс: Вор Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] Validor2 ![]() |
QUOTE Не рассказывай мне про Темплар (IMG:style_emoticons/kolobok_light/smile.gif) Я там ДМом был странно... даже волгоградцы тебя не помнят... хотя был на моей памяти какой то ДМ из москвы, нуб РПшник - не ты случаем ??? QUOTE Я знаю что такое виндовый сервак и знаю что значит его положить. Ну впрочем я свою точку зрения не навязываю. если ты был на Темпларе, то думаю не будешь отрицать, что там сервак неделями не падал ??? если его специально не роняли конечно... Сообщение отредактировал Vanes - Mar 23 2006, 19:47 |
![]()
Сообщение
#20
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Vanes
Мы с моим друганом там по очереди ДМили под одним ником. Я впрочем там не квестил. Квестил он. Я больше мир изучал. DM_Sephirot. Но мы не из Москвы(IMG:style_emoticons/kolobok_light/smile.gif) Хотя хз что он там Админу наплел тогда. Но по крайней мере это наверное было лучше чем ничего. ПС: На счет Креона, так я его уважаю, потому что человек отстаивает свое мнение. Рабочий спор. Думаю все ок (IMG:style_emoticons/kolobok_light/smile.gif) У меня по крайней мере притензий нет. Каждый делает свой сервер как удобнее ему. Сообщение отредактировал Lex - Mar 23 2006, 20:11 |
![]()
Сообщение
#21
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Господа, к слову:
"3.2. Переход во время дискуссий границ вежливости, грубые, нецензурные выражения и оскорбления в любой форме" Правила форума, запреты. Наказание вплоть до 14 дней отключки. Я чутка почистил тему, но это все очень не хорошо. Не переходите на личности. Пока устные замечания. |
![]()
Сообщение
#22
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Ок. Сорри, не хотел хамить. Болше не повторится.
По теме, я выложил наработки НД с целтю помочь автору... Ибо он испытывает трудности с пониманием неких тонкостей на мой взгляд, хотя опять же я не спец. Чем богаты тем и рады. |
![]()
Сообщение
#23
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Сначала скрипт посылает сигнал TERM, потом, если через 10 секунд не помогло - KILL.
TERM просит программу завершится. KILL убивает процесс без каких-либо вопросов. Утилиты kill и killall различаются в основном только по аргументу: первый посылает сигнал процессу по PID, другой - по имени. |
![]()
Сообщение
#24
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Вопрос стоял в том есть ли отличие между killall -kill и killall -9 ?
Проанализировав мануал, я понял что есть. |
![]()
Сообщение
#25
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
killall -kill и killall -9 = что в лоб, что по лбу. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#26
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Хмм... Что-то не верится. Почитаю еще мануалы чтобы самому удостовериться и скажу точно.
Как я и говорил. Используя killall -9, вы убиваете все процессы, связанные с ним. То есть это грубое убийство процесса. Используя killall -kill, вы убиваете процесс по PID вроде как. |
![]()
Сообщение
#27
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
втопку мануалы
бсд - опенсурс (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#28
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Вопрос закрыли. Я был неправ. Это одна и та же команда.
|
![]()
Сообщение
#29
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
А вообще какие есть варианты написания (хотя бы в теории) скрипта авторестарта, но не бональным убийством процесса.
|
![]()
Сообщение
#30
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
CODE HWND hWnd = FindWindow("Exo - BioWare Corp., (c) 1999 - Generic Blank Application", NULL); (IMG:style_emoticons/kolobok_light/prankster2.gif)
if(hWnd) SendMessage(hWnd, WM_CLOSE, 0, 0); |
![]()
Сообщение
#31
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Насколько я понимаю это для винды?!
|
![]()
Сообщение
#32
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
угу, это же winapi
|
![]()
Сообщение
#33
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Да впринципе всё просто.
Запускаем процесс, форкаемся, в чилде перенаправляем стандартные I/O куда-нить и exec'аем nwserver. А в родительском процессе читаем и пишем серверу... Меня кто-нибудь понял? (IMG:style_emoticons/kolobok_light/crazy.gif) -- man fork man exec man dup2fd man pipe |
![]()
Сообщение
#34
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
мне больше нравятся красивенькие окошечки (IMG:style_emoticons/kolobok_light/crazy.gif)
как в линуксоидах создавать потоки и обрабатывать ошибки? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#35
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
В *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")); } } } Вот так примерно (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#36
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Ну с fork() я немного имел дело, но суть так не понял.
|
![]()
Сообщение
#37
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
я про то, что вот есть у нас прокся (перенаправлялка пакетов или типа того)..
и хочется на каждого клиента отдельные потоки создать, а не бесконечным циклом последовательно обрабатывать каждого.. и прокся эта в адресном пространстве процесса сервера должна быть и делать с ним что хочет (обрабатывать клиентов, следить за ошибками и т.п.) в маздае все это делается с 2х апи, а в линуксоидах - х.з.. нужно код смореть самому (IMG:style_emoticons/kolobok_light/rtfm.gif) (IMG:style_emoticons/kolobok_light/sorry.gif) |
![]()
Сообщение
#38
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
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$. А форк - родная никсовая фича. |
![]()
Сообщение
#39
|
|
Level 2 ![]() Класс: Клерик Характер: Lawful Evil Раса: Человек ![]() |
QUOTE Ну с fork() я немного имел дело, но суть так не понял. создает точную копию процесса. Разница между родительским и дочерним процессом в pid, т.е программа может отследить кто родитель а кто потомок по pid. Если pid = 0 то идет ветка потомка, иначе продолжается ветка родителя. На этом принципе построена вся многопоточность в NIX системах. CODE void main() { int pid = fork(); if(!pid) { // pid = 0 - означает, что мы даём команды потомку, т.е. тут исполняется ветка потомка. } else { // pid = PID потомка, != 0, это тело родителя, т.е. тут продолжается ветка родителя. } } если нужно запустить новую программу, то используется exec(...), который полностью затирает текущий процес загружаемой программой. Т.е. fork() в связке с exec() в дочерней ветви запустит новую программу. Сообщение отредактировал alMuk - Apr 2 2006, 16:16 |
![]()
Сообщение
#40
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
вернемся к старому корыту
вот ковырял маздай и наткнулся там на SwapContext - хрень, переключающую текущие потоки так вот в линуксоидах оно тоже есть: http://lib.training.ru/Lib/ArticleDetail.a...&mi=106&mic=363 об этом я и говорил a всякие форки это типа запустил копию процесса, получив его id или узнал, что ты клон (IMG:style_emoticons/kolobok_light/drag.gif) как это поможет сидя в одном адресном пространстве *параллельно* и многократно выполнять инструкции я х.з.. ушел учить матчасть (IMG:style_emoticons/kolobok_light/drag.gif) Сообщение отредактировал 2_advanced - Apr 13 2006, 03:22 |
![]()
Сообщение
#41
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Neutral Раса: Человек NWN: Маппинг ![]() |
Проблема следующая.. Т.к. из админа клещами слова не вытянешь, то придётся говорить максимально абстрактно.
Проблема с доступом. Есть несколько подсетей типа 192,168,х,х. При включеном впн соединении (инет у нас так раздаётся) доступ по адресам ххх.блабла.ру бесплатный. На практике доступ к серверу НВНа получался только либо по локальному ип (192,168,х.у), либо по 62,тык-тык-тык, то есть по платному инету.. А надо (в силу определённой специфики) по бесплатному (нвн.блабла.ру). Подробнее сказать не могу, см. выше про клещи. Подскажите, куда рыть, может кто сталкивался с подобным? Или что мне надо узнать и написать сюда, чтобы вы могли ответить на этот вопрос? |
![]()
Сообщение
#42
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Выводы /sbin/ifconfig -a и /sbin/route -n в студию
|
![]()
Сообщение
#43
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
kreon, а вы уверены, что сервак линуксовый?
|
![]()
Сообщение
#44
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
если судить по первому посту, то линуксовый
Сообщение отредактировал [MoF]Darth_Nick - Apr 22 2006, 18:12 |
![]()
Сообщение
#45
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Угу (IMG:style_emoticons/kolobok_light/wacko.gif) У нас тут *nix-обсуждение, и в первом посте автор это и указал.. Вряд-ли он так часто меняет сервера (IMG:style_emoticons/kolobok_light/biggrin.gif)
Кстати, route работает и в винде А вместо ifconfig можно использовать ipconfig (IMG:style_emoticons/kolobok_light/aggressive.gif) |
![]()
Сообщение
#46
|
|
Mystery ![]() Класс: Маг Характер: Lawful Evil Раса: Тварь NWN: Контент Амен ![]() |
Я балда!
|
![]()
Сообщение
#47
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Опять насущен вопрос по поводу отучалки нвсервера проверять ключи на валидность.
Так вот если забивать в нвсервер всяким хламом строку ^F_RGASE@SY^ERFU|RWT и XEWTMGX..A.[[WVT.SY]E.SW^ то затем при запуске нвсервера вылетает ошибка Segmentation fault (core dumped). Подскажите, мож где ошибся... Просто другого выхода кроме как так гемороиться у меня нет. |
![]()
Сообщение
#48
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Версия какая? Для 65 могу дать фикс, для 66 и 67 знаю только "фаервольный" метод... или хук connect(3) (IMG:style_emoticons/kolobok_light/wink3.gif)
Сообщение отредактировал kreon - May 12 2006, 23:33 |
![]()
Сообщение
#49
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
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). Подскажите, мож где ошибся... Просто другого выхода кроме как так гемороиться у меня нет. Значит, перестарался. Затирай лучше нулями циферки, которые за ними следуют. А вот айпишники ты оттуда фиг вытащишь.. Они там хитро спрятаны. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал virusman - May 13 2006, 00:32 |
![]()
Сообщение
#50
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
kreon Версия 1.67. virusman Ок. Попробую. Затер нулями циферки. Сервант запустился, но проверка осталась. Видно еще где то запрятано. |
![]()
Сообщение
#51
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
QUOTE(Richard @ May 13 2006, 10:02) [snapback]81549[/snapback] Затер нулями циферки. Сервант запустился, но проверка осталась. Видно еще где то запрятано. Там 3 уровня защиты: 1. Адреса, написанные открыто. 2. Зашифрованные адреса. 3. Айпишники, вшитые в код. |
![]()
Сообщение
#52
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Это все конечно хорошо, но че делать то? (IMG:style_emoticons/kolobok_light/bad.gif)
|
![]()
Сообщение
#53
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Прикрыть ипы в фаерволе или захучить сетевые функции юникса (IMG:style_emoticons/kolobok_light/smile.gif)
Или в дебаггере найти место где проверка и заnop'ить всю функцию нафиг |
![]()
Сообщение
#54
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
не сморел, но имхо IP можно найти лапками - по 4 байтам и поменять на FFFFFFFF
|
![]()
Сообщение
#55
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
QUOTE не сморел, но имхо IP можно найти лапками - по 4 байтам и поменять на FFFFFFFF Ага, щаз. (IMG:style_emoticons/kolobok_light/wink3.gif) CODE .text:080A9D90 ipshneg1: ; CODE XREF: ipshneg+3Ej Адреса из 1.66, но в 1.67 всё то же самое.
.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 Сообщение отредактировал virusman - May 17 2006, 09:28 |
![]()
Сообщение
#56
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
ну типа побайтно.. =Р x[0] = 123; x[1] = 234.... (IMG:style_emoticons/kolobok_light/sad.gif) делали они это все минут за 5 и пофиг на размер/скорость выполнения и т.п.
|
![]()
Сообщение
#57
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
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] = '.'; ... и, уже чтобы остановить мега-хакеров, перемешали порядок присвоения букав. один из распространенных простых способов борьбы с кул-хацкерами... (IMG:style_emoticons/kolobok_light/mosking.gif) а скорость и размер - это, в наше дикое время, удел каких-нибудь "512b intro compo" (IMG:style_emoticons/kolobok_light/crazy.gif) |
![]()
Сообщение
#58
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Пофиксенный (фикс скиллчеков) и отвязанный нахрен от всех проверок ключей бинарник (по-видимому.. т.к. без файрволла не тестил). (IMG:style_emoticons/kolobok_light/crazy.gif)
nwserver_1.67_pached&cracked.rar Сообщение отредактировал virusman - May 17 2006, 18:46 |
![]()
Сообщение
#59
|
|
Level 9 ![]() ![]() ![]() Класс: Клерик Характер: Chaotic Evil Раса: Человек ![]() |
Протестировано. Работает на ура! Респект Вирусману (IMG:style_emoticons/kolobok_light/good.gif)
|
![]()
Сообщение
#60
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
а патч на маздайский сервер? (IMG:style_emoticons/kolobok_light/cray.gif) хнык
|
![]() ![]() |
Текстовая версия | Сейчас: 16th September 2025 - 20:51 |