Steam appid txt что это

steam_appid.txt

5 B, скачали 758 раз

Все файлы скачиваются без каких либо ограничений по скорости!

Реклама:

Поделиться файлом:

Выделите текст в поле и скопируйте его

Ссылка: Код для блога или сайта: Ссылка для форума:

Введение

Как и большинству разработчиков игр, мне очень хочется выложить мою игру в Steam.

Как и большинству инди-разработчиков игр, мне не хватает доступа к ресурсам/знаниям, которые дали бы мне чётко понять, что же действительно значит «быть в Steam».

Сложно заполнить этот пробел в знаниях, потому что, несмотря на подробную документацию возможностей Steam, трудно понять, с чего начать в этом огромном хранилище документов и как связаны между собой его отдельные части. Кроме того, основные обсуждения платформы Steam проходят в закрытом форуме, доступном только для подтверждённых платформой через Steam Direct или реферальную ссылку Valve разработчиков. То есть для начинающих поиск ответов на простые вопросы может оказаться сложной задачей.

Поэтому я решил написать высокоуровневый обзор для людей, которые только начинают разбираться в том, как заставить Steam работать с их играми. В частности, я подробно рассмотрю Steamworks SDK, программную библиотеку Valve, предоставляющую доступ к таким аспектам, как мастерская (Workshop), таблицы лидеров (Leaderboards), достижения (Achievements) и так далее.

Steamworks хорошо задокументирована компанией Valve, но документация написана с точки зрения человека, использующего нативную библиотеку C++ и уже имеющего представление о том, как все эти функции пересекаются. Если это не ваш случай, то так даже лучше! Ниже представлено объяснение для другого человека, который пишет игру на языке более высокого уровня и просто хочет обеспечить простую интеграцию со Steamworks (а это возможно, я гарантирую!). Конкретнее, этот пост предназначен для людей, использующих в той или иной форме C#, а в идеале — работающих в игровом движке Unity.

Steamworks

Steamworks состоит из двух частей. Во-первых, это портал для разработчиков, предназначенный для управления всем, что связано с существованием игры в Steam, от изменения баннеров игры до управления продажами и списка поддерживаемых контроллеров. Во-вторых, это SDK, предоставляемый Valve для того, чтобы разработчик мог взаимодействовать со всем остальным в Steam, в том числе с мастерской, таблицами лидеров, серверами, достижениями и т.д. Не забывайте об этой системе! SDK "обязателен только для загрузки контента в Steam". Это означает, что можно полностью воздержаться от возни со всеми вышеперечисленными возможностями SDK и сосредоточиться только на том, как загрузить игру в Steam. Однако SDK предоставляет множество других полезных функций, так что давайте настроим его и заставим работать!

Если вы пишете на C++, то можете просто добавить библиотеку к вашей игре, следуя этим инструкциям.

Но если вы разработчик на C#/в Unity, то придётся немного потрудиться. Нативные C++ заголовки/исходники несовместимы с Unity, нужно использовать библиотеку-обёртку, позволяющую интегрировать функции SDK. Такая обёртка позволит нам использовать высокоуровневые функции C# для вызова низкоуровневых функций C++. В прошлом такой библиотекой-обёрткой была Steamworks.NET, которая полностью соответствует своему названию: это Steamworks, реализованный на .NET. Однако это именно то, что она и делает, и ничего больше.

Steamworks.NET обеспечивает взаимно однозначное преобразование функций Steamworks в функции C#, но это значит, что для работы вам потребуется полное понимание Steamworks как библиотеки. Для новичков, желающих отделаться простой работой, этого может оказаться слишком много. Если вы хотите сделать что-то посложнее, для Steamworks.NET придётся написать собственную обёртку поверх её обёртки, что лишает смысла саму идею обёртывания.

Facepunch.Steamworks

Из-за этих ограничений и по другим причинам, Facepunch Studios (известная по играм Rust и Garry’s Mod) захотела написать более удобную библиотеку Steamworks для C#/Unity.

Она избавляет от необходимости писать кучу кода для реализации простых (и сложных) задач в Steamworks, позволяя сосредоточиться на самой «работе» со Steam. Библиотека используется в Rust, то есть её работа тестируется на игре с одним из самых больших сообществ игроков в Steam. Сложные задачи абстрагируются в простые вызовы функций, сама библиотека состоит всего из трёх файлов, то есть не особо раздувает проект. Не могу выразить, насколько она полезна для новичков, это настоящая находка. Создатель Steamworks.NET даже сказал, что Facepunch.Steamworks — это "именно то, что во что я хотел превратить Steamworks.NET дальше" и что "для большинства разработчиков она должна стать выбором по умолчанию". Steamworks.NET по-прежнему доступна для тех, кто хочет реализовать собственную версию Facepunch.Steamworks, но, по-моему, что хорошо для Rust, то достаточно хорошо и для меня. Как же работает библиотека и что в ней особенного? Давайте начнём разбираться.

Читайте также:  Как закачать мелодию звонка на самсунг

Начало работы

Во-первых, можно подумать, что для начала работы с Steamworks нужно быть подтверждённым разработчиком Steamworks, но на самом деле, использовать SDK можно сразу, не проходя процесс регистрации. Valve предоставила разработчикам тестовый «AppID» 480, для которого можно программировать.

AppID

AppID — это уникальный идентификатор игры в Steam (и в Steamworks). Его вы получаете в сразу после регистрации игры. Он «занимает» вам место в Steam/Steamworks и позволяет полностью распоряжаться всем, связанным с этим AppID. AppID 480 соответствует «SpaceWar», демонстрационной игре, созданной Valve. Она имеет открытые исходники и показывает некоторые из возможностей Steamworks (обязательно изучите её!).

Уникальный AppID — это удобно и очевидно необходимо для вашей игры на определённом этапе, тестовый же AppID (480) позволяет вам работать со службами Steam как будто ваша игра уже готова. Когда вы получите реальный AppID, то подставьте его, а пока вполне подойдёт 480. То есть не стоит создавать сервер с названием «Сервер с названием моей игры, ожидающей регистрации в качестве торговой марки».

Скачивание и импорт Facepunch.Steamworks

Итак, давайте скачаем библиотеку Facepunch.Steamworks (далее я буду называть её FP), уже зная, что мы сможем протестировать её с AppID 480. Зайдите в раздел релизов на странице Github (библиотека имеет полностью открытый исходный код и лицензию MIT) и скачайте последний релиз. Распакуйте файл .zip, чтобы получить несколько папок. В README всё подробно расписано, но, в сущности, достаточно просто скопировать небольшой набор этих файлов в ваш проект Unity (подробности зависят от платформы). Файлы Facepunch.Steamworks — это сама библиотека, файлы steam_api и специфичные для платформы файлы, содержащие сам Steamworks SDK. После импорта папка Unity должна выглядеть примерно так (в случае Windows x86/x64):

Файл «steam_appid.txt» — это текстовый файл, в котором есть только ваш AppID, поэтому мы будем использовать текстовый файл с «480» (без кавычек). Файлы ".dll", ".pdb" и ".xml" скопированы из папки Release скачанного файла .zip соответствующей версии ".NET". Для Unity подойдёт 3.5. Если вы начинаете с «чистого листа», Facepunch великодушно предоставляет небольшой тестовый проект, который делает бо́льшую часть работы за вас. С него можно начать ваш проект.

Unity

Скопировав все файлы библиотеки в соответствующие каталоги, вы практически закончили настройку! Единственное, что нам нужно — написать немного кода, чтобы всё интегрировать. Я скопирую тестовый файл из тестового проекта и просто сокращу его для понятности.

И… на этом всё! Если прикрепить этот скрипт к «GameObject» в сцене и перейти в игровой режим, то вы увидите, что в Steam вы играете в «Spacewar», а в консоли выводится базовая информация Steam о вас (если не получилось, проверьте, выполнен ли вход в Steam).

Жизнь с Facepunch.Steamworks

Возможности

После настройки доступ к более глубоким функциям Steam становится довольно простым, потому что библиотека FP обрабатывает и обёртывает почти все части стандартного Steamworks SDK. Однако по-прежнему стоит вопрос: какие же это части? Вот небольшой список с описаниями того, с чем можно работать (в библиотеке FP):

1. Серверы — создание серверов с помощью клиента игрока или запуск «безголового» сервера в любом другом месте. Используется для чувствительных к пингу игр, имеющих высокие требования к сети (таких как Dota 2, Overwatch и т.д.)

2. Лобби — это «места встреч» игроков, используемые для обмена SteamID или другой информацией пользователей.

3. Друзья — вы и ваши друзья-игроки в Steam.

4. Мастерская — загрузка/скачивание контента в мастерскую Steam Workshop и из неё.

5. Таблицы лидеров — создание и хранение глобальных таблиц лидеров для игры.

Читайте также:  Как изменить свой номер при звонке

6. Достижения — создание и выдача достижений.

7. Сеть — отправка P2P-данных клиентам.

8. Steam Cloud — сохранение данных в облако Steam Cloud! Очень полезно для сохранений игр.

9. Голос — взаимодействие с голосовым API Steam для внутриигрового чата.

10. Статистика — задание статистики на стороне Steam для заданного игрока.

Наилучший способ научиться использованию нужных функций — посмотреть, есть ли её рабочий пример в тестовом проекте Facepunch.Steamworks (ПРИМЕЧАНИЕ: это не тестовый проект Unity), и смоделировать её реализацию в своей игре.

Большинство из возможностей задокументировано в wiki библиотеки FP, но на самом деле достаточное описание есть у нескольких классов. Если вы не можете найти пример, изучите код библиотеки и посмотрите, реализована ли функция вообще. Если нет, то посмотрите, насколько далеко вы можете зайти в её реализации со своей стороны или просто отправьте сообщение об ошибке в библиотеку. Обычно разработчики Facepunch очень отзывчивы, они могут вам рассказать, работают ли они над чем-то или нет, и даже могут посодействовать вам в помощи сообществу, если вы решите реализовать что-то самостоятельно.

Подписчики и обратные вызовы

При работе с библиотекой FP (или даже с нативным API), вы заметите, что не всегда просто работать с обычным вызовом чего-то вроде Client.Instance.SteamId . Причина в том, что Steamworks SDK (а значит, и библиотека FP) активно использует асинхронные функции, чтобы игра не «подвисала» каждый раз, когда нужно выполнить нетривиальное взаимодействие со Steam. Без асинхронных вызовов вам пришлось бы ждать ответа основного сервера Steam, прежде чем выполнился бы ваш код, что очевидно стало бы источником ошибок и раздражения в процессе игры. Поэтому для использования библиотеки вам нужно привыкнуть к концепции делегирования и обратных вызовов. Для начинающего это может казаться сложным, но эти концепции легко понять, если уяснить основную идею. Я приведу пример.

Если вам нужно получить список всех лобби в игре с помощью библиотеки FP, то вы напишете следующее:

Заметьте, что здесь не выполняется возврат или присваивание. Но в таком случае как нам получить то, что мы запрашиваем? После вызова функции в Steamworks бэкенд Steam подготавливает всё необходимое, а затем отправляет вам данные через «обратный вызов» (callback). Steam почти буквально «вызывает вас», чтобы сообщить: «Эй, твои данные готовы!».

Для получения вызова нам нужно «поднять трубку», или, как это обычно называется, «подписаться» на обратный вызов. Это реализуется определением функции, получаемой передаваемые обратным вызовом данные. Иногда он не передаёт данных, тогда обратный вызов используется в основном как «обработчик» или как способ сообщить, что можно продолжать. Когда вы находитесь внутри обработчика обратного вызова, можно безопасно продолжать работу. Вот пример:

Понимание этого паттерна будет очень полезно при использовании библиотеки. Также очень полезно разобраться в том, что же в действительности делает Steamworks, так что стоит изучить его документацию. Если вы хотите более подробно изучить принцип работы, рекомендую прочитать документацию Valve по этой теме, а также некоторые разделы веб-сайта Steamworks.NET.

Двигаемся дальше

С этого момента вы можете делать всё, что угодно! Valve не ставит никаких требований, но если уж вы попали на платформу, то очевидно, что вам в первую очередь интересно связаться с ней и с её сообществом теми способами, которые предоставила Valve. После регистрации в Steam Direct вам достаточно просто заменить AppID и перенести все функции Steam, которые вы реализовали для тестового AppID.

6,192 уникальных посетителей
731 добавили в избранное

  • Steam Link — 353380
  • Steam Controller — 353370
  • SteamVR Developer Hardware — 358720
  • SteamVR — 250820
  • Greenlight — 765
  • Steam for Linux — 221410
  • Steam — 753
  • Steam Workshop — 766
  • Beta Access to the New Steam Community — 202351
  • NA’VI Player Profile — 413856
  • Flipside Player Profile — 413857
  • Cloud 9 Player Profile — 413851
  • Virtus Pro Player Profile — 413852

Все коды приложений (App >

Результатом запуска Steam for Linux как игры будет возможность отслеживания наигранных часов.
(См. скриншот: 0.6 ч. всего)

  1. Зайти в директорию любой игры, например, Super Hexagon (. SteamSteamAppscommonSuper Hexagon)
  2. Найти текстовой файл steam_appid.txt и открыть его
  3. Необходимо очистить содержимое файла и прописать число "221410" (без кавычек)
  4. Закрепить файл запуска (*.exe) из данной директории на панели задач
  5. Запустить приложение с панели задач
Читайте также:  Рамблер новости в старом формате

По данной инструкции возможно запустить любое приложение как игру Steam (исключая те игры, которых нет у Вас на аккаунте). Все коды приложений (AppID) вы можете найти на сайте http://steamdb.info , введя название необходимой игры в поиск данного сайта.

NB! Данным споcобом более невозможно запустить Steam как игру.

Для запуска Steam в качестве игры следует использовать данную программу: https://github.com/Ezzpify/HourBoostr

Для изменения цвета текста в разделе "Руководства", необходимо использовать следующие теги:

#hexcolor — код цвета HTML в системе HEX.
Код для каждого цвета можно найти на следующем сайте: http://www.color-hex.com/

Используемый цвет:#ff7769

  • [color=#ff7769]обычный текст[/color]
  • [color=#ff7769]жирный текст[/color]
  • [color=#ff7769]подчёркнутый текст[/color]
  • [color=#ff7769]курсив[/color]
  • [color=#ff7769]зачёркнутый текст[/color]
  1. Открыть в браузере данную ссылку: http://steamcommunity.com/sharedfiles/edititem/767/3/
  2. Кликнуть на странице правой кнопкой мыши и выбрать "Просмотреть код" (Ctrl+Shift+I)
  3. В открывшемся окне выбрать вкладку "Console" и вставить следующий код и нажать Enter:
  1. Сделать скриншот, на котором вы хотите отметить пользователя, но не загружать его.

Открыть загрузчик скриншотов, найти сделанный скриншот, нажать кнопку "Показать на диске". Откроется папка со скриншотами.

Найти нужный скриншот в папке, запомнить (скопировать/записать) его название.

Перейти в папку . Steamuserdata\%Steam3ID%760

Узнать, какой у вас Steam3ID можно на данном сайте, вставив ссылку на свой профиль Steam в поле SteamURL: https://steamdb.info/calculator/ . Нам нужна лишь последняя часть кода (после U:1:) и без квадратных скобок.

Найти файл screenshots.vdf и открываем его с помощью стандартного WordPad или установленного Notepad++ [notepad-plus-plus.org]

Активировать горячую комбинацию Ctrl+F (в WordPad данная функция работает не совсем корректно); в открывшееся окно вставляем название скриншота (из шага 4).

Найти в файле название желаемого скриншота (оно будет подсвечено). В файле, возможно, будет несколько одинаковых значений, из-за чего необходимо сверить AppID (код приложения) в файле и код самой игры. (См. скриншот ниже)

Код самой игры можно на данном сайте: https://steamdb.info/ . Для этого необходимо ввести название приложения в строку ввода в правом верхнем углу и нажать Enter. На открывшейся странице код приложения будет находиться в таблице, в крайнем левом столбце.

Добавить следующие строчки с желаемыми значениями между главными начальной и конечной скобками (См. скриншот ниже), после чего сохраняем изменения :

Location — название карты или любой другой текст. Возможно, не поддерживает русский язык.
SteamID — SteamID человека, которого вы хотите отметить на скриншоте. Данный код можно найти, используя инструкции из шага 5.
WorkshopID — WorkshopID продукта из Мастерской. Найти его можно, скопировав последнюю часть (код) из ссылки на продукт из Мастерской.

Желтым цветом выделены строчки, которые было необходимо добавить.

  1. Зайти на страницу редактирования группы через браузер и найти строчку "Связанные игры"
  2. Выбрать игру "Team Fortress 2"
  3. Правой кнопкой мыши кликнуть на выбранную игру, а затем выбрать функцию "Просмотреть код (Просмотр кода элемента)"
  4. Найти строку
  • Кликнуть дважды по коду "440" и изменить его на код "753"
  • Сохранить изменения.
  • Чтобы добавить сразу несколько игр (приложений) в список связанных с группой игр, можно перечислить AppID через запятую (то есть код "440" заменить на, например, коды "753,766,765".

    По данной инструкции возможно добавить любое приложение в данный список. Все коды приложений (AppID) вы можете найти на сайте http://steamdb.info , введя название необходимой игры (приложения) в поиск данного сайта.

  • Загрузить необходимую анимацию, подтвердить авторство иллюстрации и нажать кнопку "Сохранить и продолжить"
  • Все загруженные таким путём иллюстрации будут отображаться не в иллюстрациях или Мастерской, а в магазине Valve ( http://steamcommunity.com/my/myworkshopfiles/?section=merchandise ).

    1. Открыть в бразуере (!) данную ссылку: http://steamcommunity.com/sharedfiles/edititem/767/3/
    2. Загрузить необходимое изображение
    3. Открыть консоль, используя комбинацию клавиш Ctrl+Shift+J
    4. Вставить в консоль одну из следующих строк:

      При загрузке изображения как иллюстрации:

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

    Оцените статью
    Добавить комментарий

    Adblock
    detector