{"id":3872,"url":"\/distributions\/3872\/click?bit=1&hash=dfaa5b3c50208659098d01f07da485e8dde373ffdfc18a6c165dbdfdc8ce31fe","title":"\u041a\u043e\u0442\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e \u0441\u043e\u0446\u0441\u0435\u0442\u0438 \u0441 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0432\u0438\u0434\u0435\u043e","buttonText":"\u041c\u044f\u0443!","imageUuid":"af50a6ca-4f1a-5649-a992-94e85a4ba2c0","isPaidAndBannersEnabled":false}
Gamedev
Ciberus

Как залить build в steam, краткий гайд для казуалов

Недавно разбирался и настраивал для себя CI/CD для build'ов на windows/macos/linux, оффициальный видео-гайд от steam немного устаревший, а другие очень долгие решил поделиться очень коротким гайдом.

1) Скачиваем с оффициального сайта steamworks SDK доступен только если у вас уже есть аккаунт партнера steam

2) Распаковываем в папку с вашим проектом

3) Делаем копию файла "./steamworks_sdk/tools/ContentBuilder/scripts/simple_app_build.vdf" в корень проекта и называем "steam_build.vdf"

4) Заполняем поля в steam_build.vdf

AppID - id вашего приложения

Desc - описание для build'а, можно оставить просто версию

ContentRoot - путь до вашего build'а, в моем случае папка "Build"

BuildOutput - путь до папки с куда будут класться логи steam'а, для этого создадим папку "SteamBuilds" в корневой папке проекта

ContentRoot и BuildOutput

DepotID - указываем id depot'а созданного для windows

id depot'ов идут в порядке возрастания после appId, первый depot = appId + 1, второй appId + 2 итд. Пример appId - 1904150, значит id depot'ов будут 1904151, 1904152, ... 1904159
До/После

5) Открываем терминал(командную строку) в папке с проектом

6) Запускаем загрузку build'а на steam - в командной строке вводим команду с замененными STEAM_ACC_LOGIN и STEAM_ACC_PASSWORD на ваш логин и пароль.

"./steamworks_sdk/tools/ContentBuilder/builder/steamcmd.exe" +login "STEAM_ACC_LOGIN" "STEAM_ACC_PASSWORD" +run_app_build ../../../../steam_build.vdf +quit

При билде попросит ввести код от steam guard - вводим

Готово

Дополнительно можно настроить "development" ветку

1) Создаем новую ветку называем ее "development" и задаем ей пароль

2) В скрипте steam_build.vdf добавляем поле "SetLive" "development"

3) Запускаем загрузку билда из пункта 6. Билд будет загружен и сразу же ассоциирован с веткой development

Скрин возможно непонятый, но v0.0.2 тут ассоциирован с веткой "development"

4) Заходим в свой аккаунт в клиенте steam, ищем свою игру, заходим в свойства -> Beta и вводим пароль от ветки "development"

В результате будет доступна ветка development

0
18 комментариев
Написать комментарий...
Andrey Apanasik

Там же UI приложуха SteamPipe есть, чтоб в консоли не мучиться.

Ответить
Развернуть ветку
Ciberus
Автор

Ну вот, теперь надо переименовывать, не для казуалов а для матерых волков, умеющих пользоваться тектовым редактором 🤡

Несильно отличается залив через SteamPipе и руками указание папочек, но зато, вдруг если захочу сделать продолжение статьи, с настройкой CI/CD, github action'ом + steam-totp уже будет на что ссылаться

Ответить
Развернуть ветку
Andrey Apanasik

Статья полезная. Но у Стима гуятина в принципе неплохая. Я один раз настроил её и потом через формочки все билды заливал)

Ответить
Развернуть ветку
Ciberus
Автор

Ну дыа наверное для казула рили удобнее будет GUI'ем пользоваться, пихуй за часик запилил статью, дем дальше

Ответить
Развернуть ветку
Olafs Osh

SteamPipe Build Uploader?

Сделал билд, перенёс в сдк папку, upload.

Ответить
Развернуть ветку
Никита Шаченко

Есть ещё такой момент - если использовать разные ветки для SetLive, у Стима могут быть проблемы с вычислением дифов вплоть до того, что при переключении ветки/обновлении придется выкачивать весь билд с нуля.
У нас это около 15 гигов, что не очень весело)
Поэтому создали ветку latest и все билды по умолчанию заливаются туда, а оттуда уже в dev, test, etc. руками в админке.

Ответить
Развернуть ветку
Духнич Дмитрий

Эта проблема только во время разработки или в релизе тоже может быть?

Ответить
Развернуть ветку
Никита Шаченко

Вообще с любыми билдами.
Мы для проверки гипотезы собирали 3 билда подряд:
1. SetLive latest
2. SetLive dev
3. SetLive latest
Переключение с 1 на 3 и наоборот - минимальный дифф
Между 2 и любым другим - полностью перекачивать игру.
Есть теория, что дифф высчитывается относительно последнего билда в ветке (если SetLive указан) или просто залитого (если не указан).
Не исключаю варианта, что в наших процессах что-то не так происходит, но после многих экспериментов пришли к такому выводу.

Ответить
Развернуть ветку
Rone

Статья 🔥, вот бы мне игры начать разрабатывать 🤡

Ответить
Развернуть ветку
Ciberus
Автор

И мне ыыы

Ответить
Развернуть ветку
777yur0k

Правила разработчиков игр:
1.Никогда не разрабатывать игры
2.Всей душой ненавидеть разрабатывать игры
3.Ни при каких обстоятельствах не заниматься разработкой игр
4.Даже и не думать о разработке игр
5.Сама мысль о разработке игр должна быть противна

Ответить
Развернуть ветку
AiZe Cookie

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

Ответить
Развернуть ветку
777yur0k

Так я тоже разработчик. Это просто горькая ирония над тем, что порой любимое дело осточертело настолько, что даже редактор открывать противно, отвращение возникает. Наверное, так и выглядит выгорание.

В такие моменты думаешь «Какой из меня, к черту, разработчик, если я ненавижу разрабатывать игры? Если для меня это мука, болезненное постыдное занятие...»

Кто-то после такого, наверное, не возвращается к работе вовсе. Но лично меня всегда со временем отпускает.

Ответить
Развернуть ветку
AiZe Cookie

Действительно)
Игры - это про удовольствие, и я считаю, что геймдев тоже должен к этому стремится. Печальное, если любимое дело не приносит радости, но и такое бывает.
Спроси себя - хочу ли я делать игры и дальше? Если твоим ответом будет "Да!", то значит, ты на правильном пути.
Не грусти, хочу сказать, просто делай игры)
Разработчики не должны грустить или давать поводы для этого)
Выгорание пройдет, наступит утро геймдевское. Солнце взойдет!)

Ответить
Развернуть ветку
FyrFyr

А эти самые... деньги за покупку твоей игры пользователями разработчики в Стиме (из РФ) уже начали получать? А то я не следил за новостями.

Ответить
Развернуть ветку
Bezukhov

То есть игру сделать проще? Господи… вот поэтому такой шлак и заливают в стор каждый день. Сделайте лучше комиссию в штуку баксов

Ответить
Развернуть ветку
Ciberus
Автор

Ну вообще да, многие разрабы игр не очень умеют в программирование, но могут делать крутые игры. Про шлак на Стиме ну ты тип можешь просто нелазать по нему, о крутых играх всё равел не в Стиме узнаешь наверное

Ответить
Развернуть ветку
Антон Антонов

Нет нужды качать последнюю версию Steamworks. Там в папке движка лежит одна из последних, ее вполне достаточно. К ней нужно докинуть отсутствующие бинарники, и все будет работать без проблем.

Ответить
Развернуть ветку
Читать все 18 комментариев
null