Перейти к содержанию

открытие на дому и ошибки при этом


Рекомендуемые сообщения

После:

subnet: 255.0.0.0:127.0.0.1:127.0.0.1

добавьте:

subnet: 0.0.0.0:188.169.217.8:188.169.217.8

сделал как ты велел) Теперь и меня не пускает на сервер) после того как показал онлайн сервера (Failed to connect server)

Вот логин сервер ошибка

[status]: Connection of the account 'Stere0' accepted.

[info]: Closed connection from '192.168.1.100'.

может стоит субнет сделать и для 192.168.1.100'.?? тоесть

subnet: 255.0.0.0:127.0.0.1:127.0.0.1

subnet: 0.0.0.0:192.168.1.100:192.168.1.100

subnet: 0.0.0.0:188.169.217.8:188.169.217.8

????

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

Вы копаете не туда. Зачем вообще трогать subnet если все три сервера (чар мап логин) находятся на одной машине и взаимодействуют через loopback интерфейс. Во всех конфигах должно быть указано 127.0.0.1 кроме login_athena.conf где в директиве bind_ip: указывается ип интерфейса через который он смотрит в мир.

Ссылка на комментарий
Поделиться на другие сайты

Вы копаете не туда. Зачем вообще трогать subnet если все три сервера (чар мап логин) находятся на одной машине и взаимодействуют через loopback интерфейс. Во всех конфигах должно быть указано 127.0.0.1 кроме login_athena.conf где в директиве bind_ip: указывается ип интерфейса через который он смотрит в мир.

Уууу... Если визде указать 127 0 0 1 кроме логина... Он будет заходить но нечего не будет сохранятся в базу данных

Ссылка на комментарий
Поделиться на другие сайты

Уууу... Если визде указать 127 0 0 1 кроме логина... Он будет заходить но нечего не будет сохранятся в базу данных

база у тебя где стоит?

Ссылка на комментарий
Поделиться на другие сайты

Дома, на айпи 192.168.1.100 (Тоже самое указанно в чар и мап)

в логине (бинд ип) я не открывал вообще

если у тебя всё на одной машине - везде укажи 127.0.0.1 а в login_athena.conf 192.168.1.100

на роутере проброс портов с твоего внешнего ипа на локальный 192.168.1.100

subnet Трогать не нужно.

Изменено пользователем Renegade Bastard
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

только в логине.

все остальные серверы должны взаимодействовать междк собой через loopdack если находятся на одной машине.

Ссылка на комментарий
Поделиться на другие сайты

только в логине.

все остальные серверы должны взаимодействовать междк собой через loopdack если находятся на одной машине.

Чт такое Loopdack?

[Error]: make_connection: connect failed (socket #3, error 10061: No connection

could be made because the target machine actively refused it.

)!

Чар сервер нехочет так коннектится как ты говоришь))) Визде 127 0 0 1 а в логине 192 168 1 100

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

Вы копаете не туда. Зачем вообще трогать subnet если все три сервера (чар мап логин) находятся на одной машине и взаимодействуют через loopback интерфейс. Во всех конфигах должно быть указано 127.0.0.1 кроме login_athena.conf где в директиве bind_ip: указывается ип интерфейса через который он смотрит в мир.

Правильно копаем.

login сервер после подключения игрока, посылает пакет(0x69) с IP адресами char серверов.

По которых и производиться подключение клиентом после выбора сервера.

Если не настроить subnet_athena.conf, то в пакетах окажется 192.168.1.100 или 127.0.0.1

И при попытке игрока подключиться по этим IP ничего хорошего не получится.

;)

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

loopback это и есть 127.0.01

если не канектится то у тебя чтото не так.

давй начнём сначала и по порядку, заканчивается вторая страница а досихпор ничего не понятно.

какая ОС

какая БД

схема подключения

схему я представляю себе так

reRDuRz.png

посмотри чтоб у тебя в голове хотябы примерно прояснилась маршрутизация

да что ж тут со шрифтами на форуме бляхамуха. в тегах "код" текст вообще не должен менять форматирование.

Ну да ладно.

Если не настроить subnet_athena.conf, то в пакетах окажется 192.168.1.100 или 127.0.0.1

И при попытке игрока подключиться по этим IP ничего хорошего не получится.

;)

с какой стати если перед ним роутер выполняет prerouting+postrouting+MASQUERADE

я бы не был так уверен в высказываниях если б у меня сервер уже 5 с половиной лет не работал за натом. Да там управляемая циска натит, но смысл абсолютно тот же.

У него на кампе впринципе НЕТ интерфейса с ипом 188.169.217.8 посиму ни один сервис не сможет слушать на этом адресе. Более того, его комп вообще ничего не знает об ипе 188.169.217.8 и НЕ ЗНАЕТ как к нему попасть. Всё что он знает это то что есть некое устройство по адресу 192.168.1.1 которое знает как попасть к адресу 188.169.217.8.

Изменено пользователем Renegade Bastard
Ссылка на комментарий
Поделиться на другие сайты

с какой стати если перед ним роутер выполняет prerouting+postrouting+MASQUERADE

я бы не был так уверен в высказываниях если б у меня сервер уже 5 с половиной лет не работал за натом. Да там управляемая циска натит, но смысл абсолютно тот же.

Вы заблуждаетесь. Я говорю про передачу IP серверов не в служебных полях пакета, а в качестве данных.

А в разделе данных никакой роутер не имеет права ничего корректировать.


WFIFOHEAD(fd,47+32*server_num);
WFIFOW(fd,0) = 0x69;
WFIFOW(fd,2) = 47+32*server_num;
WFIFOL(fd,4) = sd->login_id1;
WFIFOL(fd,8) = sd->account_id;
WFIFOL(fd,12) = sd->login_id2;
WFIFOL(fd,16) = 0; // in old version, that was for ip (not more used)
//memcpy(WFIFOP(fd,20), sd->lastlogin, 24); // in old version, that was for name (not more used)
memset(WFIFOP(fd,20), 0, 24);
WFIFOW(fd,44) = 0; // unknown
WFIFOB(fd,46) = sex_str2num(sd->sex);
for( i = 0, n = 0; i < ARRAYLENGTH(server); ++i )
{
if( !session_isValid(server[i].fd) )
continue;
subnet_char_ip = lan_subnetcheck(ip); // Advanced subnet check [LuzZza]
WFIFOL(fd,47+n*32) = htonl((subnet_char_ip) ? subnet_char_ip : server[i].ip);
WFIFOW(fd,47+n*32+4) = ntows(htons(server[i].port)); // [!] LE byte order here [!]
memcpy(WFIFOP(fd,47+n*32+6), server[i].name, 20);
WFIFOW(fd,47+n*32+26) = server[i].users;
WFIFOW(fd,47+n*32+28) = server[i].type;
WFIFOW(fd,47+n*32+30) = server[i].new_;
n++;
}
WFIFOSET(fd,47+32*server_num);

Ссылка на комментарий
Поделиться на другие сайты

Там схема мутная с подключением к провайдеру через модем. Роутера, как он мне сказал - нет.

ADSL-модем посути является роутером-мыльницей. Типа домашнего dir-300

хотя могу быть и не прав.... ТС, скажи, модем сам поднимает канект и ты находишься в его LAN подсети 192.168.1.0 либо он подключается какнить по USB и ты в винде поднимаешь канект? Это две большие разницы. Во втором случае подменяется маршрут по умолчанию и настраивать серверную часть нужно по другому.

Изменено пользователем Renegade Bastard
Ссылка на комментарий
Поделиться на другие сайты

Попробуйте так:

subnet: 255.0.0.0:127.0.0.1:127.0.0.1
subnet: 255.255.255.0:192.168.1.100:192.168.1.100
subnet: 0.0.0.0:188.169.217.8:188.169.217.8

Спасибо)) Это помогло друг сидит и играет )

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Ну да, конечно

http://prntscr.com/7xwm3j

100%

И что я тут должен был увидеть? Где дамп сетевых пакетов?

Как Вы думаете, что делает код, который я привел в пример?

Зачем он передает клиенту IP и порты char серверов?

e1dtpcui6ohi6o9zg.jpg

Ссылка на комментарий
Поделиться на другие сайты

И что я тут должен был увидеть? Где дамп сетевых пакетов?


tcpdump -i eth1 -ln port 6900
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
12:55:46.562001 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [S], seq 600832856, win 65535, options [mss 1272,nop,nop,sackOK], length 0
12:55:46.562085 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [S.], seq 1322001937, ack 600832857, win 29200, options [mss 1460,nop,nop,sackOK], length 0
12:55:46.584670 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [.], ack 1, win 65535, length 0
12:55:46.587835 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [P.], seq 1:56, ack 1, win 65535, length 55
12:55:46.587888 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [.], ack 56, win 29200, length 0
12:55:46.591484 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [P.], seq 1:80, ack 56, win 29200, length 79
12:55:46.614758 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [F.], seq 56, ack 80, win 65456, length 0
12:55:46.614924 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [F.], seq 80, ack 57, win 29200, length 0
12:55:46.637321 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [.], ack 81, win 65456, length 0

Изменено пользователем Renegade Bastard
Ссылка на комментарий
Поделиться на другие сайты


tcpdump -i eth1 -ln port 6900
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
12:55:46.562001 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [S], seq 600832856, win 65535, options [mss 1272,nop,nop,sackOK], length 0
12:55:46.562085 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [S.], seq 1322001937, ack 600832857, win 29200, options [mss 1460,nop,nop,sackOK], length 0
12:55:46.584670 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [.], ack 1, win 65535, length 0
12:55:46.587835 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [P.], seq 1:56, ack 1, win 65535, length 55
12:55:46.587888 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [.], ack 56, win 29200, length 0
12:55:46.591484 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [P.], seq 1:80, ack 56, win 29200, length 79
12:55:46.614758 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [F.], seq 56, ack 80, win 65456, length 0
12:55:46.614924 IP 192.168.0.100.6900 > 5.153.135.50.5220: Flags [F.], seq 80, ack 57, win 29200, length 0
12:55:46.637321 IP 5.153.135.50.5220 > 192.168.0.100.6900: Flags [.], ack 81, win 65456, length 0

Вы дальше не хотите понимать разницу между служебной информацией и данными в пакете...

Попытайтесь ответить на все вопросы из моего предыдущего поста и, возможно, Вам станет все понятно.

Как Вы думаете, что делает код, который я привел в пример?

Зачем он передает клиенту IP и порты char серверов?

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика