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

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

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

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

Особенности cs_office

Статус пользователя g0ldenman
сообщение 24.10.2015, 22:37
Сообщение #1


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Ребята, кто разбирается в картах прошу посмотреть особенности карты cs_office.

Складывается впечатление, что эта карта подгружает много разных "левых" файлов.
У меня проблема с Opengl Detector 0.8.18ob, подобная програблема была на карте de_tuscan
из-за того что de_tuscan подгружает много файлов и превышается лимит прекеша в 512 файлов.
Если в конфиге закоментить часть проверяемых файлов, то de_tuscan начинает работать,
а вот cs_office не работает даже при пустом конфиге!!!

Кто умеет ковырять bsp скажите пожалуйста, чем карта cs_office особенная???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Fullserver
сообщение 24.10.2015, 22:43
Сообщение #2


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

cs_office.res
// .res entries (11):
cs_bdog.wad
gfx/env/officebk.tga
gfx/env/officedn.tga
gfx/env/officeft.tga
gfx/env/officelf.tga
gfx/env/officert.tga
gfx/env/officeup.tga
halflife.wad
models/hostage.mdl
sound/ambience/tankidle2.wav
sound/ambience/wind2.wav


Та же cs_italy подгружает намного больше файлов. Не думаю, что проблема в этом.
cs_italy.res
cstrike.wad
decals.wad
gfx/env/greenbk.tga
gfx/env/greendn.tga
gfx/env/greenft.tga
gfx/env/greenlf.tga
gfx/env/greenrt.tga
gfx/env/greenup.tga
halflife.wad
itsitaly.wad
models/chick.mdl
models/feather.mdl
models/scientist.mdl
models/winebottle.mdl
sound/ambience/Guit1.WAV
sound/ambience/Opera.wav
sound/misc/killChicken.wav
sound/misc/sheep.wav
sprites/flare1.spr


Отредактировал: Fullserver, - 24.10.2015, 22:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 24.10.2015, 23:01
Сообщение #3


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Цитата(Fullserver @ 24.10.2015, 22:38) *
sound/ambience/tankidle2.wav
sound/ambience/wind2.wav

На вашем сервере эти 2 файла лежат в
cs_serv\valve\sound\ambience\
или
cs_serv\cstrike\sound\ambience\

А можете выложить что подгружает de_tuscan
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 24.10.2015, 23:06
Сообщение #4


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

g0ldenman, cstrike

tuscan
gfx/env/dustbk.tga
gfx/env/dustdn.tga
gfx/env/dustft.tga
gfx/env/dustlf.tga
gfx/env/dustrt.tga
gfx/env/dustup.tga
models/de_tuscan/tuscan_grass1a.mdl
models/de_tuscan/tuscan_palmtree1.mdl
models/de_tuscan/tuscan_shade1a.mdl
models/de_tuscan/tuscan_shade2a.mdl
models/de_tuscan/tuscan_shade3a.mdl
sprites/yelflare1.spr
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя VkriterT
сообщение 24.10.2015, 23:09
Сообщение #5


Стаж: 14 лет
Город: МосквА

Сообщений: 2172
Благодарностей: 1045
Полезность: 796

g0ldenman, На билде 5787 таких проблем нет, как можно думать что дело в "подгружает много разных "левых" файлов." ?


тик так тик так, слышишь как уходит твоя жизнь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 24.10.2015, 23:18
Сообщение #6


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Файлов действительно не много.
Но проблема с "Bad file data" явно связана с превышением прекеша в 512 файлов.
Может как-то сама подгружаемая текстура, например cs_bdog.wad подгружает
ещё какие-то файлы отдельно???
Может в этих 2-х картах чего-то другого намного больше чем в других картах?
В прекеш помещаются только сами файлы или другие объекты с карты?

Цитата(VkriterT @ 24.10.2015, 23:05) *
g0ldenman, На билде 5787 таких проблем нет, как можно думать что дело в "подгружает много разных "левых" файлов." ?

У меня как раз билд 5787

Причем если запускаю ЧИСТЫЙ сервер - то проблемы нет или отключаю OD - то проблемы тоже нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя VkriterT
сообщение 24.10.2015, 23:18
Сообщение #7


Стаж: 14 лет
Город: МосквА

Сообщений: 2172
Благодарностей: 1045
Полезность: 796

g0ldenman, Файлов сколько на проверке ?


тик так тик так, слышишь как уходит твоя жизнь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 24.10.2015, 23:26
Сообщение #8


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Небольшой тест разницы по прекешу для сравнения:

тест
L 10/25/2015 - 00:17:59: de_dust2 - 309 files precached
L 10/25/2015 - 00:18:16: cs_italy - 325 files precached
L 10/25/2015 - 00:18:27: cs_office - 381 files precached
L 10/25/2015 - 00:19:31: de_tuscan - 360 files precached


ps.gif А нет нашёл blush.gif Можешь поставить и сам потестировать, на модах типа JB, ZM прекеш будет взлетать под планку 512 ...
Код:

/* AMX Mod X Plugin
*
* © Copyright 2008, ConnorMcLeod
* This file is provided as is (no warranties).
*
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define MAX_PRECACHE 512
#define MAX_FILE_LENGHT 128

new g_iCounter

new g_szPrecachedFiles[MAX_PRECACHE+1][MAX_FILE_LENGHT+1]
new g_szCustomFiles[MAX_PRECACHE+1][MAX_FILE_LENGHT+1]

new g_iForwardsIds[3]

public plugin_precache()
{
register_plugin("Precache Management", "1.0.0", "ConnorMcLeod")

g_iForwardsIds[0] = register_forward(FM_PrecacheModel, "Precache_Post", 1)
g_iForwardsIds[1] = register_forward(FM_PrecacheSound, "Precache_Post", 1)
g_iForwardsIds[2] = register_forward(FM_PrecacheGeneric, "Precache_Post", 1)
}

public plugin_natives()
{
register_library("precache")
register_native("can_precache","native_can_precache")
register_native("PrecacheModel","native_PrecacheModel")
register_native("PrecacheSound","native_PrecacheSound")
register_native("PrecacheGeneric","native_PrecacheGeneric")
}

public plugin_init()
{
unregister_forward(FM_PrecacheModel, g_iForwardsIds[0], 1)
unregister_forward(FM_PrecacheSound, g_iForwardsIds[1], 1)
unregister_forward(FM_PrecacheGeneric, g_iForwardsIds[2], 1)

// new const szLogFile[] = "pre_list.log"
// new const szLogFile2[] = "pre_listcust.log"
// for(new i=1; i<=MAX_PRECACHE; i++)
// {
// if(g_szPrecachedFiles[i][0])
// {
// log_to_file(szLogFile, "<%d><%s>", i, g_szPrecachedFiles[i])
// }
// if(g_szCustomFiles[i][0])
// {
// log_to_file(szLogFile2, "<%d><%s>", i, g_szCustomFiles[i])
// }
// }
// log_to_file(szLogFile, "%i files precached", g_iCounter)

new MapName[32]
get_mapname(MapName,31)

log_to_file("addons/amxmodx/logs/pre_sum.log", "%s - %i files precached", MapName, g_iCounter)
pause("ad")
}

public Precache_Post(const szFile[])
{
static iVal
iVal = get_orig_retval()
update_counter(iVal)

if( !g_szPrecachedFiles[iVal][0] )
{
formatex(g_szPrecachedFiles[iVal], MAX_FILE_LENGHT, szFile)
}
}

update_counter(iVal)
{
if( iVal > g_iCounter )
{
g_iCounter = iVal
return 1
}
return 0
}

public native_can_precache(iPlugin, iParams)
{
return (g_iCounter < MAX_PRECACHE)
}

public native_PrecacheModel(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheModel, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}

public native_PrecacheSound(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheSound, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}

public native_PrecacheGeneric(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheGeneric, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}



Отредактировал: qvadro, - 24.10.2015, 23:44


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя HUNTERsp4x
сообщение 25.10.2015, 7:56
Сообщение #9


Стаж: 16 лет

Сообщений: 412
Благодарностей: 415
Полезность: 814

g0ldenman, Пробуй.
Прикрепленный файл  http_resources_manager_files.zip ( 37,76 килобайт ) Кол-во скачиваний: 11

Ссылка на источник.

Отредактировал: HUNTERsp4x, - 25.10.2015, 7:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 25.10.2015, 16:27
Сообщение #10


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Цитата(qvadro @ 25.10.2015, 0:21) *
Небольшой тест разницы по прекешу для сравнения:
L 10/25/2015 - 00:17:59: de_dust2 - 309 files precached
L 10/25/2015 - 00:18:16: cs_italy - 325 files precached
L 10/25/2015 - 00:18:27: cs_office - 381 files precached
L 10/25/2015 - 00:19:31: de_tuscan - 360 files precached


Спасибо дружище.
Твой плагин рулит. Сейчас ставлю на сервер и смотрю что будет.
Регультаты 100% совпадают с поведением сервера.
на de_dust2 проблем никаких нет
на de_tuscan пролемы появляются при большой чит базе в OD
на cs_office проблема есть всегда

и у тебя на cs_office максимум файлов в прекеше!!!
почему у Fullserver данные наоборот я не понимаю,
реально cs_office очень проблемная карта
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 25.10.2015, 19:16
Сообщение #11


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

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата
почему у Fullserver данные наоборот я не понимаю,

потому что говорит о том, res файлах для карты и его содержимом

а не о кешируемых файлах

Fullserver не прав
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 25.10.2015, 19:41
Сообщение #12


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

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Просили ковырнуть содержимое карты, а не проследить кешируемые файлы. Как уже упомянули выше, для этого необходим отдельный плагин. Лучше необходимо излагать мысли.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 26.10.2015, 12:24
Сообщение #13


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

На абсолютно чистом сервере (без плагинов использующих дополнительные звуки,
модели, картинки и прочее), но со включенным OD, результат такой:

de_dust2_2x2 - 332 files precached
de_inferno_2x2 - 335 files precached
fy_dustworld - 327 files precached
fy_pool_day - 328 files precached
cs_italy - 348 files precached
cs_estate - 356 files precached
cs_assault - 344 files precached
cs_office - 393 files precached
de_dust2 - 332 files precached
de_tuscan - 373 files precached

У меня глюк "BAD DATA FILE" начинаются, когда в прекеше уже 390-400 файлов,
то есть даже не 512, а гораздо меньше!
Короче ребятки, если Маздан не придуает ничего нового,
то даже у владельца ЧИСТОГО классического сервера без плагинов,
уже при добавлении в базу ещё 60-80 файлов гарантированно начнутся проблемы!!!

А у тех кого стоят куча модов, заменённых моделей, оружий, звуков и прочего
проблемы уже начались.... и дальше будет только хуже.
Тоесть если Маздан не придумает ничего нового
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 5.11.2015, 12:27
Сообщение #14


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Можно ли в серверном варианте карты удалить эти ресурсы, чтобы количество файлов в прекеше уменьшить???
А у игрока останется полная карта.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 6.11.2015, 12:25
Сообщение #15


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Цитата(g0ldenman @ 5.11.2015, 12:23) *
Можно ли в серверном варианте карты удалить эти ресурсы, чтобы количество файлов в прекеше уменьшить???
А у игрока останется полная карта.


Ладно поживём ещё полгода.... Когда лимит 512 коснётся всех, тогда вы запоёте )))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kritic
сообщение 6.11.2015, 15:26
Сообщение #16


Стаж: 11 лет

Сообщений: 1128
Благодарностей: 832
Полезность: 1488

Цитата(g0ldenman @ 6.11.2015, 13:21) *
Ладно поживём ещё полгода.... Когда лимит 512 коснётся всех, тогда вы запоёте )))

я не запою точно, но есть чисто спортивный интерес) какого типа файлы кэшируются?
логично ведь, что если я выпилю bsp-editом 2 звука или 2 декали из мапы, то я ситуацию не спасу.

кстати, cs_office отличается от других стандартных мап например тем, что туда вшито больше текстур,
что коррелирует с вашими данными по прекэшу.

по мне автор офиса был явно под газом, потому что мапа cs_office (по крайней мере моя версия)
не использует cs_office.wad - текстуры вшиты. это ещё ничего,
но зачем тогда распространять cs_office.wad? может конечно для других мап но как-то маловероятно, они там слишком уникальные.
к тому же непонятно зачем вшита часть "стандартных" текстур из halfife.wad

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

Отредактировал: kritic, - 6.11.2015, 15:28
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 6.11.2015, 15:35
Сообщение #17


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Вы поставьте себе этот плагин.
Запустите сервер, запишите сколько файлов попало в прекеш.
Потом измените карту и запустите с модифицированной.
Таким образом можно будете точно знать сколько ресурсов сэкономили.

Я не знаток в картах, но чувствую что внутри карты есть какие-то ссылки
на внешние ресурсы. И может они сделаны как-то глючно что одни и теже файлы
подгружаются по 5 раз...
Тут главное обрезать количество кешируемых файлов в серверном варианте карты,
чтобы сэкономить ресурсы, серверу же пофиг что там ящик стоит пустой
или размалеваный в 10 разных цветов с наложенными 10 разными картинками,
а у клиента будет полноценная размалеваная карта.

Cкрытый текст
Код:

/* AMX Mod X Plugin
*
* © Copyright 2008, ConnorMcLeod
* This file is provided as is (no warranties).
*
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define MAX_PRECACHE 512
#define MAX_FILE_LENGHT 128

new g_iCounter

new g_szPrecachedFiles[MAX_PRECACHE+1][MAX_FILE_LENGHT+1]
new g_szCustomFiles[MAX_PRECACHE+1][MAX_FILE_LENGHT+1]

new g_iForwardsIds[3]

public plugin_precache()
{
register_plugin("Precache Management", "1.0.0", "ConnorMcLeod")

g_iForwardsIds[0] = register_forward(FM_PrecacheModel, "Precache_Post", 1)
g_iForwardsIds[1] = register_forward(FM_PrecacheSound, "Precache_Post", 1)
g_iForwardsIds[2] = register_forward(FM_PrecacheGeneric, "Precache_Post", 1)
}

public plugin_natives()
{
register_library("precache")
register_native("can_precache","native_can_precache")
register_native("PrecacheModel","native_PrecacheModel")
register_native("PrecacheSound","native_PrecacheSound")
register_native("PrecacheGeneric","native_PrecacheGeneric")
}

public plugin_init()
{
unregister_forward(FM_PrecacheModel, g_iForwardsIds[0], 1)
unregister_forward(FM_PrecacheSound, g_iForwardsIds[1], 1)
unregister_forward(FM_PrecacheGeneric, g_iForwardsIds[2], 1)

// new const szLogFile[] = "pre_list.log"
// new const szLogFile2[] = "pre_listcust.log"
// for(new i=1; i<=MAX_PRECACHE; i++)
// {
// if(g_szPrecachedFiles[i][0])
// {
// log_to_file(szLogFile, "<%d><%s>", i, g_szPrecachedFiles[i])
// }
// if(g_szCustomFiles[i][0])
// {
// log_to_file(szLogFile2, "<%d><%s>", i, g_szCustomFiles[i])
// }
// }
// log_to_file(szLogFile, "%i files precached", g_iCounter)

new MapName[32]
get_mapname(MapName,31)

log_to_file("addons/amxmodx/logs/pre_sum.log", "%s - %i files precached", MapName, g_iCounter)
pause("ad")
}

public Precache_Post(const szFile[])
{
static iVal
iVal = get_orig_retval()
update_counter(iVal)

if( !g_szPrecachedFiles[iVal][0] )
{
formatex(g_szPrecachedFiles[iVal], MAX_FILE_LENGHT, szFile)
}
}

update_counter(iVal)
{
if( iVal > g_iCounter )
{
g_iCounter = iVal
return 1
}
return 0
}

public native_can_precache(iPlugin, iParams)
{
return (g_iCounter < MAX_PRECACHE)
}

public native_PrecacheModel(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheModel, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}

public native_PrecacheSound(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheSound, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}

public native_PrecacheGeneric(iPlugin, iParams)
{
if(iParams != 1)
return -1

static szFile[MAX_FILE_LENGHT], iVal
get_string(1, szFile, MAX_FILE_LENGHT-1)

iVal = engfunc(EngFunc_PrecacheGeneric, szFile)

update_counter( iVal )
if( !g_szCustomFiles[iVal][0] )
{
formatex(g_szCustomFiles[iVal], MAX_FILE_LENGHT, szFile)
}

return iVal
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kritic
сообщение 6.11.2015, 15:41
Сообщение #18


Стаж: 11 лет

Сообщений: 1128
Благодарностей: 832
Полезность: 1488

Цитата(g0ldenman @ 6.11.2015, 16:30) *
Вы поставьте себе этот плагин.

Нет, давайте это Вы сделаете, потому что для меня это проблема
развлекательного характера, это Вам нужно прежде всего.
Да и нету у меня сейчас такой возможности.
Скажите мне точно какого типа файлы кэшируются, а там уже будем
думать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя g0ldenman
сообщение 6.11.2015, 15:49
Сообщение #19


Стаж: 10 лет

Сообщений: 379
Благодарностей: 20
Полезность: < 0

Цитата(kritic @ 6.11.2015, 16:37) *
Нет, давайте это Вы сделаете, потому что для меня это проблема
развлекательного характера, это Вам нужно прежде всего.
Да и нету у меня сейчас такой возможности.
Скажите мне точно какого типа файлы кэшируются, а там уже будем
думать


Я не знаю какого типа.
Приведённый плагин показывает только общее количество кешируемых
файлов, а какие именно файлы он не показывает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: