GoldSrc на 47 и 48 / dproto 0.8.72

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
the_crock
Сержант
Сержант
Сообщения: 42
Зарегистрирован: 25.05.2009

#451 Сообщение 16.05.2010, 16:28

hatch писал(а):Я тут ещё подумал, может дело в особенностях сервера. Ибо сервер не стандартный классик, а kz, т.е. для прыжков. Соотетственно там и плагины специальные.
Помимо этого сервера есть ещё другой, тоже с пингбустом 1 и тоже иногда падает с такой же ошибкой. Стоит ли мне также заливать корку и дебаг этого сервера?
Дело в железе, так как в дампе по тому адресу (eip = 0x28110303) никаких невалидных инструкций нет...

Код: Выделить всё

LOAD:281102FB                 jz      short loc_2811037A
LOAD:281102FD                 sub     eax, 0Fh
LOAD:28110300
LOAD:28110300 loc_28110300:
LOAD:28110300                 add     eax, 10h
LOAD:28110303
LOAD:28110303 loc_28110303:
LOAD:28110303                 mov     ecx, [eax] ; вот тут якобы была невалидная инструкция
LOAD:28110305                 mov     edx, 0FEFEFEFFh
LOAD:2811030A                 add     edx, ecx
LOAD:2811030C                 jnb     short loc_28110367
LOAD:2811030E                 xor     edx, ecx
LOAD:28110310                 or      edx, 0FEFEFEFFh
Проверяйте железо, в первую очередь питание (вздутые конденсаторы на матери и в БП), если был разгон - убирайте, прогоните мемтест.
hatch писал(а):
the_crock писал(а):Замена GameMenu.res не прокатывает на стиме по другой причине. А motd_write работает, как ни в чем ни бывало.
А можно про это подробнее? :)
Можно. На вашем скрине клиент сругался на неверную команду, потому-что где-то в ней встречались строки "connect ", или "alias " (именно с пробелом после команды, это вальв такую защиту сделали от редиректов и прошивания алиасов).
И вторая причина - клиент не сможет создать resource/GameMenu.res на диске, потому что файл с таким именем уже есть в базовой gcf-ке (counter-strike.gcf). Перезаписать он его сможет (если файл уже создан), а вот создать - нет.
hatch писал(а):P.S. :)

Код: Выделить всё

cs# ldd dproto_i386.so
ldd: dproto_i386.so: not a FreeBSD ELF shared object
ldd надо запускать линуксовский, который в /compat/linux/bin :)
как вариант, запустите сначала линуксовский шелл (/compat/linux/bin/bash*), и из него уже пускайте ldd.

hatch
Сержант
Сержант
Сообщения: 36
Зарегистрирован: 14.11.2008

#452 Сообщение 17.05.2010, 13:26

the_crock писал(а): Проверяйте железо, в первую очередь питание (вздутые конденсаторы на матери и в БП), если был разгон - убирайте, прогоните мемтест.
Неужели из-за железа могут быть подобного рода проблемы? Остальные сервера вполне нормально работают.
Кстати, до последнего обновления билда, сервера под пингбустом 1 вообще не хотели запускаться. Точнее сказать, запускаться то они запускались, но тупо висели. Т.е. небыло никакого ответа от них. Поэтому решил обновить билд. Но блин, стали теперь падать. Приходиться сервера запускать на пингбусте 3, что негативно влияет на нагрузку всей машины...
the_crock писал(а): На вашем скрине клиент сругался на неверную команду, потому-что где-то в ней встречались строки "connect ", или "alias " (именно с пробелом после команды, это вальв такую защиту сделали от редиректов и прошивания алиасов).
Дак а какой тогда смысл прописывать клиенту менюшку без того же connect например? Я к тому что, этот плагин, с добавлением менюшек коннекта к серверам на стиме - не прокатывает. Ибо, как ты сказал, видимо обнаруживает строку "connect ". Что я и пытался изначально сказать...
the_crock писал(а): И вторая причина - клиент не сможет создать resource/GameMenu.res на диске, потому что файл с таким именем уже есть в базовой gcf-ке (counter-strike.gcf). Перезаписать он его сможет (если файл уже создан), а вот создать - нет.
А вот с этим полностью согласен :)

the_crock
Сержант
Сержант
Сообщения: 42
Зарегистрирован: 25.05.2009

#453 Сообщение 17.05.2010, 19:42

hatch писал(а):Неужели из-за железа могут быть подобного рода проблемы? Остальные сервера вполне нормально работают.
Ну посудите сами - проц отрапортовал о невалидной инструкции, хотя в дампе все нормально. Вариантов несколько:
1) проблема с корками/gdb под фрёй - могло привести к тому, что адрес ошибки (значение регистра eip) записалось неверно.
2) инструкция распарсилась неправильно из-за каких-то внешних причин (afaik, у первых Phenom-ов был TLB Bug, который мог к такому привести)
3) либо инструкция действительно была невалидной на момент чтения процем, а через несколько мгновений (в момент снятия дампа) ВНЕЗАПНО стала нормальной. Попахивает какой-то вирусной гадостью.
hatch писал(а):Дак а какой тогда смысл прописывать клиенту менюшку без того же connect например?
Ну никто не мешает писать "Connect " вместо "connect " :) Доблестные кодеры из клапана же не сразу додумаются сделать проверку без учета регистра :)
А когда додумаются - будем писать "connect\t" :D

Lev2008
Лейтенант
Лейтенант
Сообщения: 221
Зарегистрирован: 08.11.2008

#454 Сообщение 18.05.2010, 01:52

Ну всех сдал.
Не Штирлиц.

desagr
Нович0к
Нович0к
Сообщения: 2
Зарегистрирован: 07.06.2009

#455 Сообщение 23.05.2010, 23:55


the_crock
Сержант
Сержант
Сообщения: 42
Зарегистрирован: 25.05.2009

#456 Сообщение 24.05.2010, 23:35

desagr писал(а):Фикс амхбанса6
http://www.gm-community.net/showpost.ph ... stcount=11
Добавил в первый пост. Отдельное спасибо вам за поиск и фикс багов, оставленных нашими фанатичными иностранными коллегами.

Sinator
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 16.05.2010

#457 Сообщение 25.05.2010, 11:11

Crock... не знаю, может дело не в dproto конечно... но тогда я не знаю даже =)(

ОС - Ubunta 9.10
HLDS - 4617
dproto - 0.4.8

# ========================================================
# DPROTO CONFIGURATION
# ========================================================

#LoggingMode:
# 1 = Console
# 2 = Log Files
# 3 = Both
LoggingMode = 2


# ========================================================
# AUTHID MANAGEMENT
# ========================================================

# ClientIDs (for cid_* options)
# 1: Real (or generated by HW) steam (STEAM_xx:xx:xx)
# 2: Real (or generated by HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprecated - client will be rejected
# 6: reserved for future use
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666

# Use this to set authid's for clients

# for HLTV
cid_HLTV = 7

# for clients that do not support unique id generation
cid_NoSteam47 = 10
cid_NoSteam48 = 8

# For Legit Steam clients
cid_Steam = 9

# Client recognized as pending when they sucessfully authorized, but did not get steam id
# REMARK: Actually, it got steamid, but it is useless (STEAM_0:0:0 for example)
cid_SteamPending = 9

# For players having revEmu ( >= 9.74) on client-side:
cid_RevEmu = 10

# For players having old revEmu on client-side:
cid_OldRevEmu = 10

# For players having hCupa's SteamEmu on client-side:
cid_SteamEmu = 10

# For SETTI ServerScanner
cid_Setti = 3

# SteamEmuCompatMode (0 / 1)
# An analog for eSTEAMATiON's EnforceSteamEmuCompatIDMode option.
# Affects only Old RevEmu and SteamEmu emulators.
SteamEmuCompatMode = 1

# OldEstCompatMode (0 / 1)
# Enables/Disables fix for steamids generated by eST in 0.3.1 version.
# Set this to 1 if you want to make steamids generated by eST as in < 0.3.0 versions.
OldEstCompatMode = 0

# IPGen_Prefix1 (int)
# STEAM_a:b:c
# ^ - this prefix for authids generated by IP
IPGen_Prefix1 = 0

# IPGen_Prefix2 (int)
# STEAM_a:b:c
# ^ - this prefix for authids generated by IP
IPGen_Prefix2 = 4

# Note that banid will use steamid WITHOUT any prefixes!

# ========================================================
# OTHER STUFF
# ========================================================

# DisableNativeAuth (0/1)
# Disables valve/steam auth system.
# For p.47 Based: Server will not connect to auth servers.
# For All: Server will not call authorization functions.
# This is a fix for startup freeze for old (p.47) servers.
DisableNativeAuth = 0

# ServerInfoAnswerType (0/1)
# Sets server answer type for query requests
# 0 = New style (Source Engine)
# 1 = Old Style (Fix favorites list for p.47 clients)
# 2 = Hybrid mode - best solution for now, server is visible anywhere
ServerInfoAnswerType = 2

# MasterClient (0/1)
# Enables master-client emulation; it helps to register server on master list
# if you having "You server is old" error.
# USE THIS ONLY WITH -nomaster MODE!
# you can use Master_GameVersion to set version of game
MasterClient = 0

# Master_GameVersion (string)
# Sets version of game that master-client will send on master-server
Master_GameVersion = 1.1.2.6/Stdio

# SubServer_Enable (0/1)
# Enables secondary mini-server that redirects clients on main server.
# Use the SubServer_AnswerType parameter to set answer type to info queries
# Use the SubServer_Port parameter to set secondary server port
# Use the SubServer_MasterClient parameter to enable master-client for secondary server.
# This is useful feature if you want all clients to see you server.
# Its possible if you set different answer types for main and secondary servers.
# Clients which cant "see" main server will be able to see secondary
SubServer_Enable = 0
SubServer_Port = 28015
SubServer_MasterClient = 0
SubServer_AnswerType = 0
SubServer_RedirectCommand = connect 169.254.141.3:27015
SubServer_IP = 0.0.0.0

# Game_Name (string)
# Sets game name displayed for clients
# If Game_Name is empty, native game name will be used
Game_Name = Ty-Ta.ru *47+48*

# Enables fix for proper player id displaing on HLStats server monitoring
# Enable this only if you have HLStats
HLStatsPlayerIdFix = 0

# ExportVersion (0 / 1)
# Enables/Disables exporting of dp_version cvar
# 1 = dp_version cvar will be exported to server rules. It will be visible in server monitoring tools (like HLSW)
# 0 = dp_version cvar will not be exported to server rules.
ExportVersion = 0
Проблема:
Если заходят 2 стима, то второго кикает с причиной
Your UserID is already in use on this server

До того как переделал сервер с нуля... в дпрото 0.2.7 так же я выдавал стимовцам STEAM_ID_PENDING, а то иначе плагины некоторые тупят...

Что делать ? Какую инфу еще выдать ?

Добавлено спустя 1 час 6 минут 32 секунды:
# For Legit Steam clients
cid_Steam = 1


и стало пускать, но хотелось бы наверно лучше с PENDING'om остаться

Sinator
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 16.05.2010

#458 Сообщение 26.05.2010, 14:52

Плиз хелп )

Доунт пуш ми :cry:

the_crock
Сержант
Сержант
Сообщения: 42
Зарегистрирован: 25.05.2009

#459 Сообщение 27.05.2010, 02:00

Sinator, если вкратце, проблем тут вот в чем:
Внутри движка все игроки со стима получают свой уникальный ИД, дпрото меняет его на STEAM_ID_PENDING (в вашем случае) только при преобразовании в текстовую форму. Пока не знаю что с этим делать, но, скажу прямо, ситуация у вас очень специфическая - обычно админы пытаются раздать уникальные ИД всем, кому можно, а вы наоборот всем пендинги раздаете :)

Sinator
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 16.05.2010

#460 Сообщение 27.05.2010, 08:39

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

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

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

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

SeTmurom
Нович0к
Нович0к
Сообщения: 1
Зарегистрирован: 28.05.2010

#461 Сообщение 28.05.2010, 19:25

- UTF8 Chat/Nicknames support completely removed (will add it to another plugin)

Когда нам ждать сего чуда ???

Аватара пользователя
sergiusk
Нович0к
Нович0к
Сообщения: 24
Зарегистрирован: 09.09.2008
Откуда: Краснодар
Контактная информация:

#462 Сообщение 29.05.2010, 20:33

После обновления у клиентов вылазиет такое

Host_Error: CL_ParseServerMessage: Bad server message
Ку.

adminaz
Нович0к
Нович0к
Сообщения: 14
Зарегистрирован: 22.12.2005
Откуда: Vilnius, Lithuania

#463 Сообщение 20.06.2010, 17:16

Crock hi ;) создал Condition-zero сервер, dproto 0.4.8 , не отображается в steam мастер-сервере.. только в setti :(

16:13:06 Protocol version 48
Exe version 1.1.2.6/Stdio (czero)
Exe build: 16:56:12 Mar 8 2010 (4883)

пробовал менять dproto.cfg

Master_GameVersion = 1.1.2.6/Stdio
на
Master_GameVersion = 1.0.0.3/Stdio

неменяетса :(

помоги :beer: :beer:

rebrain
Нович0к
Нович0к
Сообщения: 1
Зарегистрирован: 29.03.2009

#464 Сообщение 27.06.2010, 18:37

это нормально что после "rcon _restart" (или после падения) сервер выдает

Код: Выделить всё

./hlds_run: line 329: 27538 Segmentation fault      $HL_CMD
?
Сервер не перезапускается и это приходится делать вручную.
проблема во всех версиях dproto.

Sinator
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 16.05.2010

#465 Сообщение 08.07.2010, 15:14

Crock !!!! Вышел сплойт... роняет все сервера =((( СВОЛОЧЬ !!!! Вся надежда на тебя )



hasta :
есть фикс дпрото, раздам только админам дс.ру . стучите

M***:
А какая мотивация раздавать его только админам ds.ru?

hasta :
Для M*** : никакой. Crock сам потом выложит


Ужас.... кому ты релизы даешь.... =))))

Ответить Вложения 5