LINUX.ORG.RU
решено ФорумGames

Dota 2 на Gentoo: Unable to ping any region

 , , , ,


0

2

Привет. Прошу помощи.

Проблема: дота напрочь отказывается заходить в любые игры, в качестве спектатора или игрока - неважно. Когда жму на выбор региона говорит «Unable to ping any region. Check your Internet connection». При этом поиск игры можно спокойно начать, и даже ее принять, но за этим следует недлительная загрузка и возврат в главное меню. Сама дота не в автономном режиме: соответствующего предупреждения нет, показываются игры на хай ммр (но подключиться посмотреть не удается), сокровищницы и все такое.

Хостил Террарию через стим, никаких проблем не возникало. DS 3 спокойно коннектится к серверам From Software, поэтому думаю проблема именно с коннектом к серверам доты. Однако через консоль пинги проходят нормально.

Ставил стим через портаж, потом переставлял через флетпак, назад вернулся - все без толку… На винде работает без проблем, но до этого бегал по дистрам, на чем-то тестил доту и получил тот же результат. Если не изменяет память, это была Ubuntu 20.04 LTS.

Кернел - 5.4.80-gentoo-r1

Еще у меня есть проблема, возможно как-то связанная с вышеупомянутой: скорость загрузки/отдачи на генте примерно в два раза ниже, чем на винде: вместо 60 получаю 30 мбит. Не знаю, к месту это или нет, но может быть связано.

ethtool enp6s0:

Settings for enp6s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: Symmetric Receive-only
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: Symmetric Receive-only
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	Link partner advertised pause frame use: Symmetric
	Link partner advertised auto-negotiation: Yes
	Link partner advertised FEC modes: Not reported
	Speed: 100Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: Unknown
	Current message level: 0x00000033 (51)
			       drv probe ifdown ifup
	Link detected: yes

ifconfig enp6s0:

enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1280
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 255.255.255.255
        inet6 fe80::f7c8:6db6:73c0:bd5e  prefixlen 64  scopeid 0x20<link>
        ether 70:4d:7b:65:72:15  txqueuelen 1000  (Ethernet)
        RX packets 5235166  bytes 2087953091 (1.9 GiB)
        RX errors 0  dropped 57  overruns 0  frame 0
        TX packets 2502899  bytes 348887878 (332.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 137  base 0x1000  

Прошу прощения, если какой-то инфы не хватает, напишите - добавлю.



Последнее исправление: sudopacman (всего исправлений: 3)

Установи MTU на 1492

anonymous
()
Ответ на: комментарий от cyberhoffman

Да всё так. Отличный способ портить себе нервы.

peregrine ★★★★★
()
Ответ на: комментарий от chenbr0

Тогда одной порчей нервов дело не обойдётся.

peregrine ★★★★★
()
Ответ на: комментарий от arrecck

Поторопился я с закрытием темы.

Сегодня днем смог один раз успешно запустить после этого совета, получилось. После этого через какое-то время запустил снова - сейчас не работает. Предположительно из-за перезагрузки системы. Capabilities на файлах wine остались, не могу понять что именно изменилось. Подозреваю, что стим настройки запуска доты обновил.

Хотя wine cmd с последующим ping google.com тоже дает плачевный результат:

002f:err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.
Pinging google.com [64.233.162.102] with 32 bytes of data:
PING: transmit failed. General failure.

Кстати, у меня файлы /usr/bin/wine-preloader и /usr/bin/wine64-preloader - это ссылки, указывающие на /usr/bin/wine-preloader-vanilla-5.0.2 и /usr/bin/wine64-preloader-vanilla-5.0.2 соответственно. На эти файлы я и навешивал изначально разрешения.

UltraGreed
() автор топика
Ответ на: комментарий от chenbr0

Легких путей не ищу, по всей видимости. Кроме того, забавно, но заставить доту работать - самая сложная задача, из тех, что я встречал на генту за месяц пользования.

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

Подумал, что может быть неправильно поставились разрешения, поэтому вот вывод getcap /usr/bin/wine-preloader-vanilla-5.0.2:

/usr/bin/wine-preloader-vanilla-5.0.2 cap_net_raw=eip
UltraGreed
() автор топика
Ответ на: комментарий от arrecck

Спасибо, снова выручаешь: теперь пинги через wine cmd проходят без проблем. Однако, почему-то дота все еще не работает. Может быть такое, что она юзает какой-то левый конфиг? В настройках запуска галочка на «Force the use of a specific Steam Play compatibility tool» не стоит.

UltraGreed
() автор топика
Ответ на: комментарий от SPRATAY

Runtime. Если пробую запустить STEAM_RUNTIME=0 steam, вечно висит загрузка «Connecting Steam account…». В терминал выводится

src/clientdll/appdatacache.cpp (2630) : Assertion Failed: !bSharedKVSymbols

очень много раз.

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

При помощи

$ cd ~/.steam/root/ubuntu12_32
$ file * | grep ELF | cut -d: -f1 | LD_LIBRARY_PATH=. xargs ldd | grep 'not found' | sort | uniq

вычислил, каких библиотек не хватает и доставил. При этом некоторые пришлось ставить с флагом abi_x86_32, а на networkmanager вообще накатывать удаленные в новых версиях API, потому что стим все еще пытается их подтянуть. Если кому пригодится, тут подробнее: https://github.com/anyc/steam-overlay/issues/275 .

Сейчас стим запустился с STEAM_RUNTIME=0, но дота отказывается запускаться с ошибкой:

Unable to load 'libpangoft2-1.0.so', your game install may be corrupted or you may have a system conflict
UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

Доставил старую версию pnglib, дота запустилась из-под стима с RUNTIME_STEAM=0, но снова не пингует сервера, как было в самом начале.

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

А при чем здесь Wine? Dota 2 нативная в Steam. К тому же даже если бы ты ее через Proton запускал, твой системный Wine тут все еще не имел бы никакого значения.

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 1)
Ответ на: комментарий от peregrine

Я не понимаю нифига что мне делать… Я думал она, возможно, имеет в себе какую-то эмуляцию через вайн и подтягивает системный вайн. Куда мне копать тогда?

Запускаю доту я не через протон, если что, хотя через протон тоже не работает.

Единственный раз она запустилась нормально вчера и работала как положено до перезагрузки, не могу понять с чем это связано. Возможно дело в том, что я тогда поменял mtu через sudo ip link set dev enp6s0 mtu 1492 (или какое-то другое значение, уже не помню). Но с тех пор смена mtu никакого результата мне не дает.

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

В настройках запуска галочка на «Force the use of a specific Steam Play compatibility tool» не стоит.

Это означает, что ты нативную версию игры запускаешь, и все эти махинации с Wine на игру никак не влияют.

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

Kron4ek ★★★★★
()
Последнее исправление: Kron4ek (всего исправлений: 2)
Ответ на: комментарий от UltraGreed

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

peregrine ★★★★★
()
Ответ на: комментарий от peregrine
PING google.com (64.233.162.101) 56(84) bytes of data.
64 bytes from li-in-f101.1e100.net (64.233.162.101): icmp_seq=1 ttl=107 time=127 ms
64 bytes from li-in-f101.1e100.net (64.233.162.101): icmp_seq=2 ttl=107 time=122 ms
64 bytes from li-in-f101.1e100.net (64.233.162.101): icmp_seq=3 ttl=107 time=123 ms
64 bytes from li-in-f101.1e100.net (64.233.162.101): icmp_seq=4 ttl=107 time=123 ms
64 bytes from li-in-f101.1e100.net (64.233.162.101): icmp_seq=5 ttl=107 time=122 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 122.418/123.493/127.457/1.982 ms
UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed
ip addr | grep mtu

Ну-ка покажи (или что там у тебя для mtu посмотреть)

Попробуй 1500 поставить

ЗЫ

Попробуй доту удалить (можешь и стимовскую директорию снести чтобы наверняка) и поставить заново, может стим что-то не докачал

ЗЗЫ

Ты там не в Крыму под санкциями случайно сидишь?

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 4)
Ответ на: комментарий от peregrine
ip addr | grep mtu
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
3: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UP group default qlen 1000

Раньше был mtu 1500, щас поставил NetworkManager, перезагрузился, видимо он понизил до 1280. По всей видимости он же не дает mtu менять: RTNETLINK answers: Operation not permitted

Параллельно дота снова перестала запускаться совсем.

Стоит сносить NetworkManager? Или просто доту переустановить вместе со стимом?

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

Стоит mtu поменять, от рута

vim /etc/network/interfaces
или где там у вас конфиг нынче и mtu 1500 вбить

Потом

systemctl restart NetworkManager
или что там у вас

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 4)
Ответ на: комментарий от peregrine

Добавил в /etc/conf.d/net строчку mtu_enp6s0="1500", ничего не изменилось. По всей видимости NetworkManager не дает этот конфиг менять. Раньше я использовал ip link для смены mtu.

UltraGreed
() автор топика
Ответ на: комментарий от chenbr0

Да не мешайте Дзюбе уже удовлетворяться как ему интереснее. Ему же не с дотой хочется, а с гентой. Не вижу в этом ничего плохого.

pinus_nigra
()
Ответ на: комментарий от pinus_nigra

В Генте мне копаться интересно пока. А проблемы с запуском доты - не тот фактор, который заставил бы менять дистрибутив.

UltraGreed
() автор топика
Ответ на: комментарий от chenbr0

Жениться вам нужно, барин.

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

anonymous
()
Ответ на: комментарий от peregrine

Смог поменять через sudo ifconfig enp6s0 mtu 1500, но, как я уже говорил, сейчас у меня дота снова не запускается совсем из-за libtcmalloc_minimal.so.0. Думаю переустановить полностью, потом снова попробовать.

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

Давай ошибку? Как добился? Я вот обновился на Ubuntu 20.04, но уже поборол всё пока с тобой общаюсь, осталось вулкан шейдеры побороть и пойти зажигать игроков мидовой брудой/течкой 5.

peregrine ★★★★★
()
Ответ на: комментарий от UltraGreed

tcmalloc должен быть в dev-util/google-perftools, вроде.

anonymous
()
Ответ на: комментарий от peregrine

Нетворк менеджер отрубил, ставил я его не помню уже из-за чего в первый раз. Но вообще по-моему стим просил 32-битную версию если пытаться запускать с STEAM_RUNTIME=0

Собственно когда первый раз пытался запустить стим без рантайма, он ругался на кучу либ разных, я их последовательно ставил. В итоге запустился стим, но теперь уже дота начала капризничать. В итоге наставил еще разных либ, смог ее запустить, но коннекта к серверам не было. Перезагрузился и вот сейчас мы тут: дота не работает даже с рантаймом. Когда пытаюсь запустить, стим пишет «Launching…» потом ничего не проиcходит и запуск отменяется. Выводит в терминал ошибку про libtcmalloc_minimal.so.0.

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

P.S. Я тоже на течке в пятерке играю. Может вольво нас намеренно не пускает ?)

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

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

Кстати файл этот действительно есть в dev-util/google-perftools, но он ставит только

libtcmalloc_minimal_debug.so
libtcmalloc_minimal_debug.so.4
libtcmalloc_minimal_debug.so.4.5.3
libtcmalloc_minimal.so
libtcmalloc_minimal.so.4
libtcmalloc_minimal.so.4.5.3

а стим просит libtcmalloc_minimal.so.0

UltraGreed
() автор топика
Ответ на: комментарий от peregrine

Конкретно этот, вроде бы, нет.

Сейчас снова поставил setcap; создал softlink libtcmalloc_minimal.so.0 на libtcmalloc_minimal.so в /usr/lib и /usr/lib64, теперь ошибка сменилась на новую ). Сейчас стим что-то делает с диском, при этом ничего не скачивает. Посмотрим что из этого выйдет

UltraGreed
() автор топика
Ответ на: комментарий от UltraGreed

Как же оно лагает, мама родная. Айсфрог видать совсем разрабов разогнал. Заставка фризы даёт, я конечно понимаю, 4k монитор, но всё же GTX 1660 это не совсем офисная затычка, саму игру тянет, а заставку нет )

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Тем временем она начала запускаться (появилось окно с логотипом дотки), но потом выдала последовательно два окна с ошибками:

Unable to start game
A game file appears to be missing or corrupted. In the Steam client go to the game's properties. In the 'Local Files' tab select 'Verify Integrity of Game Cache' to have Steam double-check the game's installation.

(Хотя я делал проверку файлов наверное час назад. Не знаю, стоит ли еще раз делать.)

Error
LoadSystemAndDependencies():
CAppSystemDict:Unable to load module client (Dependency on application), error 2

В терминал выводит: "dota 2 beta/game/dota/bin/linuxsteamrt64/libclient.so" error=libvideo.so: cannot open shared object file: No such file or directory

По всей видимости надо опять либу поставить какую-то, но не могу найти какую именно.

UltraGreed
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.