Source Query не может достучаться до сервера

Статус
В этой теме нельзя размещать новые ответы.

infirmitive

Участник
Сообщения
93
Реакции
33
Операционная система
Linux
Текст ошибки
Ошибка соединения. #111: Connection refused
Список мета-модулей
[01] SourceMod (1.10.0.6502) by AlliedModders LLC
[02] CS Tools (1.10.0.6502) by AlliedModders LLC
[03] SDK Tools (1.10.0.6502) by AlliedModders LLC
[04] SDK Hooks (1.10.0.6502) by AlliedModders LLC
[05] SteamWorks Extension (1.2.3) by Kyle Sanderson
Список плагинов SM
01 "SourceBans++: Bans Checker" (1.6.2) by psychonic, Ca$h Munny, SourceBans++ Dev Team
02 "Terrible Enable Full Alltalk" (0.02) by Sheepdude
03 "Admin Menu" (1.10.0.6502) by AlliedModders LLC
04 "SourceBans++: SourceComms" (1.6.2) by Alex, SourceBans++ Dev Team
05 "Client Preferences" (1.10.0.6502) by AlliedModders LLC
06 "Anti-Flood" (1.10.0.6502) by AlliedModders LLC
07 "Admin List" (1.1) by Someone
08 "Block Report" (0.1) by SM9
09 "Fix Hint Color Messages" (1.2.2 Franc1sco franug github version) by Phoenix (˙·٠●Феникс●٠·˙)
10 "[CS:S / CS:GO] Throwing Knives Core" (1.6) by R1KO
11 "Token Auto Updater" (1.4) by Phoenix (˙·٠●Феникс●٠·˙)
12 "Admin File Reader" (1.10.0.6502) by AlliedModders LLC
13 "Fun Votes" (1.10.0.6502) by AlliedModders LLC
14 "Show Damage [Multi methods]" (2.0.1) by TheBΦ$$♚#2967 (rewritten by Grey83)
15 "Basic Comm Control" (1.10.0.6502) by AlliedModders LLC
16 "Disable HUD money" (1.0) by Pheonix (˙·٠●Феникс●٠·˙)
17 "[Shop] Core" (3.0E2) by FrozDark (Fork by R1KO & White Wolf)
18 "Fun Commands" (1.10.0.6502) by AlliedModders LLC
19 "Basic Chat" (1.10.0.6502) by AlliedModders LLC
20 "SourceBans: Admin Config Loader" (1.6.2) by AlliedModders LLC, Sarabveer(VEER™)
21 "Chat-Processor" (2.2.3) by Drixevel
22 "SourceBans++: Main Plugin" (2.0) by SourceBans Development Team, SourceBans++ Dev Team
23 "Player Commands" (1.10.0.6502) by AlliedModders LLC
24 "Nextmap" (1.10.0.6502) by AlliedModders LLC
25 "AFK Manager" (4.3.0) by Rothgar
26 "[CS:GO] Spritetrail fix" (1.0.1) by FrozDark
27 "IP Name & Say Block" (2.1) by R1KO
28 "Basic Commands" (1.10.0.6502) by AlliedModders LLC
29 "Admin Help" (1.10.0.6502) by AlliedModders LLC
30 "Reserved Slots" (1.10.0.6502) by AlliedModders LLC
31 "Sound Commands" (1.10.0.6502) by AlliedModders LLC
32 "[Levels Ranks] Core" (v3.1.6) by RoadSide Romeo & Wend4r
33 "Basic Votes" (1.10.0.6502) by AlliedModders LLC
34 "SourceBans++: SourceSleuth" (1.6.2) by ecca, SourceBans++ Dev Team
35 "Basic Info Triggers" (1.10.0.6502) by AlliedModders LLC
36 "[VIP] Core" (3.0.1 R) by R1KO
37 "[VIP] Throwing Knives" (1.4) by R1KO
Список расширений SM
[01] Automatic Updater (1.10.0.6502): Updates SourceMod gamedata files
[02] Webternet (1.10.0.6502): Extension for interacting with URLs
[03] CS Tools (1.10.0.6502): CS extended functionality
[04] BinTools (1.10.0.6502): Low-level C/C++ Calling API
[05] SDK Tools (1.10.0.6502): Source SDK Tools
[06] Top Menus (1.10.0.6502): Creates sorted nested menus
[07] Client Preferences (1.10.0.6502): Saves client preference settings
[08] SQLite (1.10.0.6502): SQLite Driver
[09] SDK Hooks (1.10.0.6502): Source SDK Hooks
[10] SteamWorks Extension (1.2.3): Exposes SteamWorks functions to Developers
[11] TAU LIB (1.4):
[12] Regex (1.10.0.6502): Provides regex natives for plugins
[13] MySQL-DBI (1.10.0.6502): MySQL driver implementation for DBI
Всем привет! Имеется два дедика, на одном держу кольцо веб-сайтов, а на втором демон панельки Pterodactyl на котором в докере крутится сервер по CS:GO.
На часть веба установил Levels Ranks Web + Material Admin, но ни один не может подключиться к серверу.
Предоставляю вывод sb_debug_connections
[+] Открываю UDP-сокет...
[+] UDP-соединение успешно установлено!
[+] Записываю запрос в сокет..
[+] Запрос успешно записан в сокет. (Это не означает, что с соединением всё в порядке.) Читаю ответ...
[-] Ошибка при получении информации о сервере. Не удаётся прочитать UDP-соединение. Порт заблокирован.

[+] Попытка установить TCP-соединение...
[-] Ошибка соединения. #111: Connection refused
Со стороны веба в конфиге php и портах все четко, т.к. проверял на другом сервере и успешно коннектился.

Дедик с сервером кс беру у Hetzner, для веба какой-то хостинг в Москве
Со стороны демона и сервера порты вроде бы открыты, т.к. к серверу можно подключиться и поиграть (в настройках панельки Pterodactyl к серверу привязан только 27015 порт)

Прилагаю вывод ufw status и iptables -L

Status: active

To Action From
-- ------ ----
22/tcp ALLOW Anywhere
8080 ALLOW Anywhere
2022 ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
3306 ALLOW Anywhere
27015 ALLOW Anywhere
27020/udp ALLOW Anywhere
27005/udp ALLOW Anywhere
51840/udp ALLOW Anywhere
27015/udp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
2022 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
3306 (v6) ALLOW Anywhere (v6)
27015 (v6) ALLOW Anywhere (v6)
27020/udp (v6) ALLOW Anywhere (v6)
27005/udp (v6) ALLOW Anywhere (v6)
51840/udp (v6) ALLOW Anywhere (v6)
27015/udp (v6) ALLOW Anywhere (v6)

Chain INPUT (policy DROP)
target prot opt source destination
ufw-before-logging-input all -- anywhere anywhere
ufw-before-input all -- anywhere anywhere
ufw-after-input all -- anywhere anywhere
ufw-after-logging-input all -- anywhere anywhere
ufw-reject-input all -- anywhere anywhere
ufw-track-input all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ufw-before-logging-forward all -- anywhere anywhere
ufw-before-forward all -- anywhere anywhere
ufw-after-forward all -- anywhere anywhere
ufw-after-logging-forward all -- anywhere anywhere
ufw-reject-forward all -- anywhere anywhere
ufw-track-forward all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-output all -- anywhere anywhere
ufw-before-output all -- anywhere anywhere
ufw-after-output all -- anywhere anywhere
ufw-after-logging-output all -- anywhere anywhere
ufw-reject-output all -- anywhere anywhere
ufw-track-output all -- anywhere anywhere

Chain ufw-before-logging-input (1 references)
target prot opt source destination

Chain ufw-before-logging-output (1 references)
target prot opt source destination

Chain ufw-before-logging-forward (1 references)
target prot opt source destination

Chain ufw-before-input (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ufw-logging-deny all -- anywhere anywhere ctstate INVALID
DROP all -- anywhere anywhere ctstate INVALID
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
ufw-not-local all -- anywhere anywhere
ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns
ACCEPT udp -- anywhere 239.255.255.250 udp dpt:1900
ufw-user-input all -- anywhere anywhere

Chain ufw-before-output (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ufw-user-output all -- anywhere anywhere

Chain ufw-before-forward (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT icmp -- anywhere anywhere icmp echo-request
ufw-user-forward all -- anywhere anywhere

Chain ufw-after-input (1 references)
target prot opt source destination
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-ns
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-dgm
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:netbios-ssn
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:microsoft-ds
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootps
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootpc
ufw-skip-to-policy-input all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST

Chain ufw-after-output (1 references)
target prot opt source destination

Chain ufw-after-forward (1 references)
target prot opt source destination

Chain ufw-after-logging-input (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-after-logging-output (1 references)
target prot opt source destination

Chain ufw-after-logging-forward (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-reject-input (1 references)
target prot opt source destination

Chain ufw-reject-output (1 references)
target prot opt source destination

Chain ufw-reject-forward (1 references)
target prot opt source destination

Chain ufw-track-input (1 references)
target prot opt source destination

Chain ufw-track-output (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere ctstate NEW
ACCEPT udp -- anywhere anywhere ctstate NEW

Chain ufw-track-forward (1 references)
target prot opt source destination

Chain ufw-logging-deny (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere ctstate INVALID limit: avg 3/min burst 10
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW BLOCK] "

Chain ufw-logging-allow (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix "[UFW ALLOW] "

Chain ufw-skip-to-policy-input (7 references)
target prot opt source destination
DROP all -- anywhere anywhere

Chain ufw-skip-to-policy-output (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Chain ufw-skip-to-policy-forward (0 references)
target prot opt source destination
DROP all -- anywhere anywhere

Chain ufw-not-local (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
RETURN all -- anywhere anywhere ADDRTYPE match dst-type MULTICAST
RETURN all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST
ufw-logging-deny all -- anywhere anywhere limit: avg 3/min burst 10
DROP all -- anywhere anywhere

Chain ufw-user-input (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http-alt
ACCEPT udp -- anywhere anywhere udp dpt:http-alt
ACCEPT tcp -- anywhere anywhere tcp dpt:2022
ACCEPT udp -- anywhere anywhere udp dpt:2022
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
ACCEPT udp -- anywhere anywhere udp dpt:mysql
ACCEPT tcp -- anywhere anywhere tcp dpt:27015
ACCEPT udp -- anywhere anywhere udp dpt:27015
ACCEPT udp -- anywhere anywhere udp dpt:27020
ACCEPT udp -- anywhere anywhere udp dpt:27005
ACCEPT udp -- anywhere anywhere udp dpt:51840
ACCEPT udp -- anywhere anywhere udp dpt:27015

Chain ufw-user-output (1 references)
target prot opt source destination

Chain ufw-user-forward (1 references)
target prot opt source destination

Chain ufw-user-logging-input (0 references)
target prot opt source destination

Chain ufw-user-logging-output (0 references)
target prot opt source destination

Chain ufw-user-logging-forward (0 references)
target prot opt source destination

Chain ufw-user-limit (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning prefix "[UFW LIMIT BLOCK] "
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Chain DOCKER (2 references)
target prot opt source destination
ACCEPT tcp -- anywhere 172.18.0.2 tcp dpt:27015
ACCEPT udp -- anywhere 172.18.0.2 udp dpt:27015

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere

Chain DOCKER-ISOLATION-STAGE-2 (2 references)
target prot opt source destination
DROP all -- anywhere anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere

Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Сообщения автоматически склеены:

UPD: добавил остальные порты к серверу в панельке (26900, 26901 ,27005, 27020) и в iptables они пробросились к интерфейсу докера.
Для запуска использую следующую команду:
./srcds_run -game csgo -console -port 27015 -steamport 26900 +clientport 27005 +tv_port 27020 +ip 0.0.0.0 +map de_dust2 -strictportbind -autoupdate -steamcmd_script ./steamcmd/update_awp.txt +rate 128000 +cl_cmdrate 128 +cl_updaterate 128 -tickrate 128
Но все безуспешно, проблема осталась.
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #2
Я бы всё же думал в сторону настроек именно на веб-сервере, поскольку, грубо говоря, Source Query работает точно так же, как и обычный игровой клиент: он подключается к серверу по тому же порту, по тому же протоколу.
И если веб не осиливает подключиться к игровому серверу, а клиент - осиливает, то дело явно где-то на стороне веб-хостинга.
 

infirmitive

Участник
Сообщения
93
Реакции
33
Я бы всё же думал в сторону настроек именно на веб-сервере, поскольку, грубо говоря, Source Query работает точно так же, как и обычный игровой клиент: он подключается к серверу по тому же порту, по тому же протоколу.
И если веб не осиливает подключиться к игровому серверу, а клиент - осиливает, то дело явно где-то на стороне веб-хостинга.
Только что для теста взял пару серверов от того же хостинга и в той же локации (даже маски IP одинаковые были), но до них сайт может достучаться и по udp и по tcp
Сообщения автоматически склеены:

При чем также для теста попробовал добавить сервер в мониторинг - успех. И карта и игроки отображаются
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #4
Ну Вы же понимаете, что сервер не может не отвечать конкретному адресу просто так?
Я выше немного не ясно выразился. Если проблема только при обращении с животными клиента А (веб-сервер) на сервер Б, но при этом клиент С (игрок) может опрашивать сервер Б, как и клиент А опрашивать сервер Г (другой сервер), то проблема явно кроется где-то в настройках файрвола. Кого именно смотреть надо - не очень понятно.
Попробуйте для начала вырубить файрвол на обеих серверах насовсем и посмотреть на эффект.
 

infirmitive

Участник
Сообщения
93
Реакции
33
Ну Вы же понимаете, что сервер не может не отвечать конкретному адресу просто так?
Я выше немного не ясно выразился. Если проблема только при обращении с животными клиента А (веб-сервер) на сервер Б, но при этом клиент С (игрок) может опрашивать сервер Б, как и клиент А опрашивать сервер Г (другой сервер), то проблема явно кроется где-то в настройках файрвола. Кого именно смотреть надо - не очень понятно.
Попробуйте для начала вырубить файрвол на обеих серверах насовсем и посмотреть на эффект.
Да, прекрасно понимаю. Отключил и там и там фаерволлы и почистил iptables. Затем на ноде с сервером кс переопределил порты, чтоб они по новой внеслись в iptables. Как итог: сервер успешно просматривается другими мониторингами и зеркально же у веб-сервера получается опросить другие серверы по любому протоколу, но подружить этих двоих не получается. Хотя между ними успешно функционирует соединение mysql.
Также проблема в веб-сервере может быть исключена по причине того, что некоторое время назад я с него успешно на протяжении нескольких месяцев мониторил сервер по CSS и после этого никаких манипуляций с конфигами и портами не проходило.

В общем и целом, проблема неясна. Попробую техподов Hetzner попинать
 

infirmitive

Участник
Сообщения
93
Реакции
33
-usercon в параметры запуска
Половина дела сделана, спасибо! Теперь осталось с UDP разобраться
[+] Открываю UDP-сокет...
[+] UDP-соединение успешно установлено!
[+] Записываю запрос в сокет..
[+] Запрос успешно записан в сокет. (Это не означает, что с соединением всё в порядке.) Читаю ответ...
[-] Ошибка при получении информации о сервере. Не удаётся прочитать UDP-соединение. Порт заблокирован.

[+] Попытка установить TCP-соединение...
[+] TCP-соединение успешно установлено!
[+] Пытаюсь записать в TCP-сокет и произвести авторизацию...
[+] Запрос авторизации успешно записан. Читаю ответ...
[+] Ответ получен!
[+] Пароль задан правильно!
Сообщения автоматически склеены:

UPD: выяснилось, что проблема со стороны хостинга сервера, где держатся сайты. Странно то, что некоторые серверы по udp с него опрашиваются, а этот нет.
Тему можно закрывать.
Отдельная благодарность @nyood за подсказку с -usercon и @Kruzya за подозрения к веб-серверу
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу