unity
Участник
- Сообщения
- 242
- Реакции
- 133
Многие знают, как создать свою коллекцию карт и настроить на своих серверах, но мало кто знает, что этого не достаточно. Случается так, что авторы обновляют свои карты, но сервер их автоматически не обновляет. Многие могут подумать, что это недочёт разработчиков Valve и владельцы своих серверов с клиента в папку сервера в ручную закидывают новую версию карты. На самом деле надо ещё настроить автоматическое обновление карт на своих серверах.
В папке с сервером в корне папки csgo создать:
subscribed_collection_ids.txt
subscribed_file_ids.txt
webapi_authkey.txt (Обязательное условие хранить веб-API Steam в файле, а не вписан в параметрах запуска. В противном случае ничего не получится.)
Эти файлы автоматически загружаются при смене карты, и каждый раз, когда вызывается ds_get_newest_subscribed_files, который перезагружает webapi_authkey.txt, subscribed_collection_ids.txt и subscribed_file_ids.txt и получает последнюю версию этих файлов мастерской.
В файле subscribed_collection_ids.txt впишите id своей коллекции карт.
В subscribed_collection_ids.txt можно использовать несколько коллекций карт. (Спасибо spazm )
На пример:
Нужно использовать больше коллекций карт, если в одной коллекции 100 карт
В файле subscribed_file_ids.txt впишите id каждой карты с новой строки, которые входят в вашу коллекцию.
в файле webapi_authkey.txt впишите свой веб-API Steam, который можно узнать или создать веб-API Steam
При изменении уровней на карте мастерской ваш сервер сначала проверит, доступна ли более новая версия, и при необходимости загрузит ее. Клиенты будут уведомлены в чате о загрузке и ее ходе. Вы можете контролировать эти сообщения и их частоту с помощью этих переменных, которые надо вписать в server.cfg или в конфиг режима:
sv_broadcast_ugc_downloads <0|1>
sv_broadcast_ugc_download_progress_interval <время в секундах>
При подключении клиентов будет загружена последняя версия карты размещенной мастерской как часть процесса подключения.
Чтобы включить подробный вывод - впишите переменные в server.cfg или в конфиг режима:
sv_debug_ugc_downloads 1
developer 1
С этим набором ваш сервер будет извергать результаты, полученные от Steam. При работе вы увидите такой вывод:
При возникновении ошибки вы можете увидеть что-то вроде следующего:
Это распространенная ошибка (результат 9, файл не найден), которая может возникнуть, если файл удален из мастерской, или если права доступа изменены на только для друзей или личные. Эта ошибка также возникнет, если есть проблема с вашим ключом аутентификации.
Другая распространенная ошибка может выглядеть так:
Это вызвано передачей идентификатора коллекции в host_workshop_map вместо host_workshop_collection. Обязательно передавайте только идентификатор карты в host_workshop_map и передавайте только идентификаторы коллекций в host_workshop_collection.
Не смешивайте «списки подписки» и команды host_workshop. При устранении неполадок попробуйте удалить файлы списка подписок.
Если возникли трудности - напишите в комментариях и обязательно в свободное время вам отвечу и подскажу решение проблем.
Оригинал статьи
В папке с сервером в корне папки csgo создать:
subscribed_collection_ids.txt
subscribed_file_ids.txt
webapi_authkey.txt (Обязательное условие хранить веб-API Steam в файле, а не вписан в параметрах запуска. В противном случае ничего не получится.)
Эти файлы автоматически загружаются при смене карты, и каждый раз, когда вызывается ds_get_newest_subscribed_files, который перезагружает webapi_authkey.txt, subscribed_collection_ids.txt и subscribed_file_ids.txt и получает последнюю версию этих файлов мастерской.
В файле subscribed_collection_ids.txt впишите id своей коллекции карт.
485684628
На пример:
1571127473
1981799833
1983160702
1985279069
1988239954
1988294621
1988301244
1988308845
1988315655
1988321940
1981799833
1983160702
1985279069
1988239954
1988294621
1988301244
1988308845
1988315655
1988321940
В файле subscribed_file_ids.txt впишите id каждой карты с новой строки, которые входят в вашу коллекцию.
894841795
538178104
1828362917
125621707
1833193082
404340147
1363750475
122521875
540889065
1823228073
538178104
1828362917
125621707
1833193082
404340147
1363750475
122521875
540889065
1823228073
При изменении уровней на карте мастерской ваш сервер сначала проверит, доступна ли более новая версия, и при необходимости загрузит ее. Клиенты будут уведомлены в чате о загрузке и ее ходе. Вы можете контролировать эти сообщения и их частоту с помощью этих переменных, которые надо вписать в server.cfg или в конфиг режима:
sv_broadcast_ugc_downloads <0|1>
sv_broadcast_ugc_download_progress_interval <время в секундах>
При подключении клиентов будет загружена последняя версия карты размещенной мастерской как часть процесса подключения.
Чтобы включить подробный вывод - впишите переменные в server.cfg или в конфиг режима:
sv_debug_ugc_downloads 1
developer 1
С этим набором ваш сервер будет извергать результаты, полученные от Steam. При работе вы увидите такой вывод:
Fetched 1076 bytes via HTTP:
response {
result int( 1 = 0x1 )
resultcount int( 1 = 0x1 )
publishedfiledetails {
0 {
publishedfileid int( 123868347 = 0x76214BB )
result int( 1 = 0x1 )
creator 76561197975050072
creator_app_id int( 745 = 0x2E9 )
consumer_app_id int( 730 = 0x2DA )
filename mymaps/de_aztec_proper.bsp
file_size int( 26420720 = 0x19325F0 )
file_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXXX/
hcontent_file 884098750744150125
preview_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXX/
hcontent_preview 884098750744170633
title De_Aztec_Proper
description Aztec with adjusted visibility. A rebalanced underpass area,two new routes and many other changes remove the map's CT bias.
time_created int( 1359545920 = 0x51090640 )
time_updated int( 1359545920 = 0x51090640 )
visibility int( 0 = 0x0 )
banned int( 0 = 0x0 )
ban_reason
subscriptions int( 3 = 0x3 )
favorited int( 1 = 0x1 )
lifetime_subscriptions int( 3 = 0x3 )
lifetime_favorited int( 1 = 0x1 )
views int( 13 = 0xD )
tags {
0 {
tag Classic
}
}
}
}
}
response {
result int( 1 = 0x1 )
resultcount int( 1 = 0x1 )
publishedfiledetails {
0 {
publishedfileid int( 123868347 = 0x76214BB )
result int( 1 = 0x1 )
creator 76561197975050072
creator_app_id int( 745 = 0x2E9 )
consumer_app_id int( 730 = 0x2DA )
filename mymaps/de_aztec_proper.bsp
file_size int( 26420720 = 0x19325F0 )
file_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXXX/
hcontent_file 884098750744150125
preview_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXX/
hcontent_preview 884098750744170633
title De_Aztec_Proper
description Aztec with adjusted visibility. A rebalanced underpass area,two new routes and many other changes remove the map's CT bias.
time_created int( 1359545920 = 0x51090640 )
time_updated int( 1359545920 = 0x51090640 )
visibility int( 0 = 0x0 )
banned int( 0 = 0x0 )
ban_reason
subscriptions int( 3 = 0x3 )
favorited int( 1 = 0x1 )
lifetime_subscriptions int( 3 = 0x3 )
lifetime_favorited int( 1 = 0x1 )
views int( 13 = 0xD )
tags {
0 {
tag Classic
}
}
}
}
}
host_workshop_map 122439431
Fetched 140 bytes via HTTP:
response {
result int( 1 = 0x1 )
resultcount int( 0 = 0x0 )
publishedfiledetails {
0 {
publishedfileid int( 122439431 = 0x74C4707 )
result int( 9 = 0x9 )
}
}
}
Failed to parse file details KV for id 122439431. Result enum: 9
File id 122439431 not found. Probably removed from workshop
Fetched 140 bytes via HTTP:
response {
result int( 1 = 0x1 )
resultcount int( 0 = 0x0 )
publishedfiledetails {
0 {
publishedfileid int( 122439431 = 0x74C4707 )
result int( 9 = 0x9 )
}
}
}
Failed to parse file details KV for id 122439431. Result enum: 9
File id 122439431 not found. Probably removed from workshop
Это распространенная ошибка (результат 9, файл не найден), которая может возникнуть, если файл удален из мастерской, или если права доступа изменены на только для друзей или личные. Эта ошибка также возникнет, если есть проблема с вашим ключом аутентификации.
Другая распространенная ошибка может выглядеть так:
Fetched 1042 bytes via HTTP:
CDedicatedServerWorkshopManager: received file details for id 125499818: 'Collection Title'.
Skipping download for file id 125499818:'Collection Title' - version on disk is latest.
Setting mapgroup to '125613177'
CModelLoader::Map_IsValid: No such map 'maps/workshop/125499818/1360205838_collection_branding.bsp'
changelevel failed: workshop/125499818/1360205838_collection_branding not found
CDedicatedServerWorkshopManager: received file details for id 125499818: 'Collection Title'.
Skipping download for file id 125499818:'Collection Title' - version on disk is latest.
Setting mapgroup to '125613177'
CModelLoader::Map_IsValid: No such map 'maps/workshop/125499818/1360205838_collection_branding.bsp'
changelevel failed: workshop/125499818/1360205838_collection_branding not found
Это вызвано передачей идентификатора коллекции в host_workshop_map вместо host_workshop_collection. Обязательно передавайте только идентификатор карты в host_workshop_map и передавайте только идентификаторы коллекций в host_workshop_collection.
Не смешивайте «списки подписки» и команды host_workshop. При устранении неполадок попробуйте удалить файлы списка подписок.
Если возникли трудности - напишите в комментариях и обязательно в свободное время вам отвечу и подскажу решение проблем.
Оригинал статьи
Последнее редактирование: