Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

сообщение в консоли

, во время подключения к серверу
Статус пользователя sigrlunn
сообщение 21.7.2022, 10:18
Сообщение #1
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 80

Всех приветствую!
Если кто знает, подскажите пожалуйста, как отправить игроку сообщение в консоль в момент его подключения к серверу? Т.е. по факту до того как он зайдет на сервер, до того как он начнет скачивать модели.
Тут вроде бы все просто:
public client_connect(id)
{
client_print(id,print_console,"test123")
}

но такой код почему то не работает.
Суть проблемы заключается в том что, в связи со всяческими блокировками между странами, уже не однократно мне встречаются люди, которые могут подключаться к серверу, но при этом вэб сайт (с того же айпи что и сервер) у них не работает и фаилы не скачиваются, что с этим делать не особо понятно, вот хочется например оправлять им ссылку в консоль, до скачивания моделей.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Gecko
сообщение 21.7.2022, 17:22
Сообщение #2
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

sigrlunn, если у тебя VPS просто настрой нормально файловый сервер. В идеале, отдавай файлы прямо с каталога твоего сервера без обращений к DNS.

Код
cd hlds # Переходишь в каталог сервера, там где каталог cstrike
mkdir fastdl # Создаешь каталог где будут симлинки на файлы быстрой загрузки
# Создаёшь симлинки
ln -s ${PWD}/cstrike/models ${PWD}/fastdl/models
ln -s ${PWD}/cstrike/sound ${PWD}/fastdl/sound
ln -s ${PWD}/cstrike/sprites ${PWD}/fastdl/sprites
ln -s ${PWD}/cstrike/maps ${PWD}/fastdl/maps
ln -s ${PWD}/cstrike/motd.txt ${PWD}/fastdl/motd.txt


Настраиваешь веб-сервер так, чтобы он смотрел в каталог fastdl.

Конфиг для nginx
/etc/nginx/conf.d/fastdl_27015.conf
Код
server {
listen 8081;
root /opt/hlds/fastdl;
# Указываешь свой IP-адрес.
server_name 192.168.0.15;
index motd.txt;

location / {
    }
}



в ./cstrike/server.cfg указываешь IP адрес быстрой закачки.
Код
sv_downloadurl "http://192.168.0.15:8081"


Для каждого нового сервера создаешь свой конфиг и вешаешь закачку на отдельный порт.
Код
sv_downloadurl "http://192.168.0.15:8082"




Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 21.7.2022, 23:59
Сообщение #3


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Цитата
мне встречаются люди, которые могут подключаться к серверу, но при этом вэб сайт (с того же айпи что и сервер) у них не работает

Ситуация знакомая, так было с одним из моих серверов, присылали пруфы.
Какой-то дурак из админов локальных сетей заблокировал TCP, оставив UDP. К серверу коннект есть, а дальше - всё. Качать по ссылке в чате / консоли никто не будет, игрок выйдет. Движок игры не позволяет подключаться к альтернативному серверу если недоступен исходный. Могу посоветовать разве что Fast Download через Cloudflare пустить, это проверено и работает.


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sigrlunn
сообщение 22.7.2022, 15:38
Сообщение #4
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 80

Цитата(Gecko @ 21.7.2022, 18:22) *
Для каждого нового сервера создаешь свой конфиг и вешаешь закачку на отдельный порт.

А зачем для каждого сервера отдельный порт делать? Обращений к DNS нету, sv_downloadurl по айпишнику, но конечно к одному адресу с нескольких серверов.
Цитата(Metal Messiah @ 22.7.2022, 0:59) *
Какой-то из админов локальных сетей заблокировал TCP, оставив UDP.

Ну в такой ситуации, тогда вэб сервер не работал бы изначально, а у меня ситуация выглядит несколько иначе. У подавляющего большинства игроков все в порядке, карты модели скачиваются, но вот... после начала всем известных событий, стали появляться игроки с подобной проблемой.
Цитата(Metal Messiah @ 22.7.2022, 0:59) *
Могу посоветовать разве что Fast Download через Cloudflare пустить, это проверено и работает.

Рас.скажи про это по подробнее, что это? dntknw.gif

Отредактировал: sigrlunn, - 22.7.2022, 15:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 22.7.2022, 16:58
Сообщение #5
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

sigrlunn,
Код
А зачем для каждого сервера отдельный порт делать?

А сам подумай.
Цитата
server_name 192.168.0.15;






Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 22.7.2022, 17:11
Сообщение #6
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

sigrlunn,
Цитата
Ну в такой ситуации, тогда вэб сервер не работал бы изначально


Цитата
Какой-то дурак из админов локальных сетей заблокировал TCP, оставив UDP.


Всё верно, сайт и закачка могут не работать по причине блокировки на транспортном уровне TCP, а на игровой сервер спокойно могут зайти, потому как там UDP.



Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 22.7.2022, 18:05
Сообщение #7


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Цитата
по причине блокировки на транспортном уровне TCP, а на игровой сервер спокойно могут зайти, потому как там UDP.

Именно так. Мне как-то скучно было и надо было обойти блокировку трафика (бесплатный интернет). Пришлось поднимать аналог VPN на протоколе отличном от TCP либо UDP (нестандартный) который не блокировался.

Цитата
А зачем для каждого сервера отдельный порт делать?
Незачем. Fast Download нескольких серверов может быть на одном веб сервере и по одному адресу, но либо
http://mydomain.com/server_1/
http://mydomain.com/server_2/
либо вообще все в 1 папку с пропуском повторов. Я надеюсь на 2 серверах не будет разных файлов с одинаковым именем?


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 22.7.2022, 18:28
Сообщение #8
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 346

Metal Messiah,

Цитата
Незачем. Fast Download нескольких серверов может быть на одном веб сервере и по одному адресу, но либо
http://mydomain.com/server_1/
http://mydomain.com/server_2/


Мы и обсуждали вариант с одним веб-сервером и без DNS.
Да, можно смотреть в один каталог но это не всегда удобно. Особенно если на VPS достаточно места.

Если по IP-адресу

Код
server {
listen 8081;
root /opt/hlds/fastdl-1;
server_name 192.168.0.15;

и
Код
server {
listen 8081;
root /opt/hlds/fastdl-2;
server_name 192.168.0.15;

отработает только в первом случае, по этому во втором конфиге нужно слушать другой порт listen 8082

Отредактировал: Gecko, - 22.7.2022, 18:36


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sigrlunn
сообщение 23.7.2022, 16:18
Сообщение #9
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 80

Что то я вам про Фому, а вы мне про Ерему. Вэб сервер есть и с ним все в порядке, грубо говоря у 99 игроков скачивает модели, а у одного нет. Ну наверное это потому что существуют блокировки между странами, а не потому что на вэб сервере что то неправильно настроено? л-логика.
Я вижу несколько вариантов решения проблемы, помимо расковыривания того, что и без того нормально работает:
1. Поменять хостинг.
2. Поменять порт вэб сервера (вероятно блокируют только 80 и 443).
3. Сообщить тем кому не повезло ссылку на какой нибудь гугл драйв.

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

Цитата(Metal Messiah @ 22.7.2022, 0:59) *
Могу посоветовать разве что Fast Download через Cloudflare пустить, это проверено и работает.

Что ты имел ввиду? Как это сделать? Просвяти.

Отредактировал: sigrlunn, - 23.7.2022, 16:56
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя sigrlunn
сообщение 23.7.2022, 17:29
Сообщение #10
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 80

Цитата(Gecko @ 21.7.2022, 18:22) *
Для каждого нового сервера создаешь свой конфиг и вешаешь закачку на отдельный порт.
Код
sv_downloadurl "http://192.168.0.15:8082"


Ну вот если по рассуждать на тему, то что ты скажешь относительно того что одна служба, один открытый порт - это одна теоретическая вероятность проблемы, а десять открытых портов для десяти серверов кс, это х10 теоретической вероятности проблемы...
Так что не, ну нафиг, все в одном каталоге сложено, открыто через один порт и раздается для десяти серверов.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Eka
сообщение 23.7.2022, 19:41
Сообщение #11
Стаж: 8 лет 2 месяца

Сообщений: 280
Благодарностей: 114
Полезность: 176

sigrlunn, добавить домен в клаудфлеер и включить там проксирование. Это может помочь решить проблему с недоступностью. Но нужно добавить исключение для трафика из клиента игры для фастдл. Можно в page rules добавить правило для нужного URI или целиком защиту отключить для домена.


цитаты великих умов
Цитата
аналог libcurl в Go это net/http
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 24.7.2022, 17:22
Сообщение #12


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Скорее всего FastDL будет не на домене, а на поддомене. Отключать защиту для поддоменов отдельно клауд не умеет, потому придется целиком отключить защиту для поддиректории или User-Agent.

Цитата
2. Поменять порт вэб сервера (вероятно блокируют только 80 и 443).

либо весь TCP

А вообще тут по IP адресам обсуждалось потому что так немного быстрее, не нужно определять IP адрес по доменному имени.


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Eka
сообщение 24.7.2022, 19:42
Сообщение #13
Стаж: 8 лет 2 месяца

Сообщений: 280
Благодарностей: 114
Полезность: 176

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


цитаты великих умов
Цитата
аналог libcurl в Go это net/http
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 24.7.2022, 20:21
Сообщение #14


Стаж: 17 лет

Сообщений: 571
Благодарностей: 505
Полезность: 651

Чтобы не ходить вокруг да около, игроку необходимо включить developer 1, а там уже смотреть консоль из-за чего файл не скачался и решать проблему, а то сейчас насоветуете не использовать DNS, а проблема окажется не в нем

Цитата
sv_downloadurl "http://192.168.0.15:8081"

Ссылка обязательно должна заканчиваться слешем, без него ничего скачиваться не будет.


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя sigrlunn
сообщение 26.7.2022, 9:41
Сообщение #15
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 80

Связался с игроком у которого не работало. Вообщем все как я и предполагал, блокируют только 80, 443 и 21 (но это по минимуму то что почекал), в итоге поменял порт на 8080 и заработало.

ps. А по теме то кто нибудь знает ответ? Как все таки отправить сообщение в консоль до захода на сервер?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 26.7.2022, 11:05
Сообщение #16


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Цитата
Сейчас бы трастись над парой десятков миллисекунд времени при резолвинге.

Мы с владельцем одного мониторинга пол ночи провозились разбирались какого лешего при запуске сборки завтык в секунду происходит.
Если я правильно помню, человек где-то за Уралом, один из МС находится в Европе, а сервера имен домена еще где-то, в сумме по пару десятков миллисекунд на каждом шагу а набегает много.

Отредактировал: Metal Messiah, - 26.7.2022, 11:06


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Eka
сообщение 26.7.2022, 11:14
Сообщение #17
Стаж: 8 лет 2 месяца

Сообщений: 280
Благодарностей: 114
Полезность: 176

Metal Messiah, чудеса. И резольвер в ОС ничего не кэширует и резольвер провайдера кэшировать перестал, и при этом прописан днс, который поднят на дохлом днс в Аргентине.
Ну, вообще, да, когда твоим сервисом пользуется только один человек, можно посоветовать не пользоваться днс. lol.gif


цитаты великих умов
Цитата
аналог libcurl в Go это net/http
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: