Подсовываем фальшивые день/месяц/год игре в Steam
Зачем это здесь
В самых разных играх, в том числе 100% оффлайновых, попадаются внутриигровые события, гвоздями прибитые к текущей дате/времени на компьютере игрока.
Изначально гайд писался под Terraria, где активный новогодний ивент ОЧЕНЬ сильно облегчает раннюю игру.
Но этот трюк должен также прокатить и для любой другой оффлайновой игры, которая спрашивает дату/время с компьютера пользователя, чтобы показать какую-нибудь редкость. Для игр онлайновых, очевидно, так делать нельзя...
К сожалению, конкретно для этой задачи чистый Win > чистый Lin.
Ну посудите сами, в Win руками переставил дату/время - и хрен с ним. В этом клубке багов и ущербного UI/UX неправильная дата/время - далеко не самая критичная проблема.
Linux же - это серьёзная система для серьёзных задач, и с высокой вероятностью Ваш дистрибутив наверняка будет содержать какой-то функционал, который вполне может сбойнуть, если скормить ему дату из будущего. Напимер, перестать обновляться. Или всосать обновления софта под ещё не вышедший кернел. Так рисковать ради видеоигры, очевидно, не стоит.
К счастью, под любую задачу, от подбрасывания фальшивой даты в приложение и до рассчёта наступления ретроградного Урана, на Линуксе наверняка найдётся что-нибудь опенсорсное.
Этому (опенсорсному, не ретроградному Урану) и посвящён этот гайд.
И в заключение, раз эти конченые не хотят нормально модерировать свою площадку - перенесу свои полезности сюда, йо.
Что нам понадобится установить
Чтобы подшаманить дату в игре в Steam, очевидно, нам нужны:
1. Собственно Steam. Добывается отдельно.
2. Собственно игра. Причём, в принципе пофигу, есть нативная Linux версия у ней или нет - лишь бы через сам Steam она установилась нормально.
А вот где взять нужный кусочек софта для подмены даты - это хороший вопрос.
К сожалению, отбитые дегенераты SEOшники окончательно засрали выдачи Гугла, имеющие отношение к таким простым вопросам на Линуксе. Поэтому искать пришлось наудачу.
То, что попалось мне, - утилита под названием faketime.
Никакого UI, никаких лишних зависимостей, "бери и трахай", как говаривала моя пятая бывшая.
Ставим её командой
sudo apt-get install faketime
либо аналогом команды apt-get для Вашего дистрибутива.
Как это юзать
Открываем Steam.
Открываем свойства нужной игры в библиотеке игр.
Ищем в самом низу строку Launch Options (Параметры Запуска).
Вставляем туда:
faketime '2023-12-26 08:15:42' %command%
Закрываем свойства игры.
Готово! Теперь в этой игре у нас вечный Новый Год (26 декабря 2023 года, 8 часов 15 минут)!
Для Хэлоуина, соответственно, используем
faketime '2023-10-26 08:15:42' %command%
что означает "26 октября 2023 года, утро".
Ну, вы поняли принцип. man у этой софтины ещё тот - поэтому этот момент лучше пояснять примером.
Насколько я помню, прочие параметры командной строки (типа -dev -console -game cstrike) вставляются ПОСЛЕ %command%.
Я с этим трюком намотал в Террарии уже пару сотен часов - работает!