Pull to refresh

Comments 6

Вечная проблема использующих крон вместо systemd-таймеров - отсутствие механизма, предотвращающего одновременные запуски. А счастье было так близко...

Тут как раз прикрыто: на воркере flock(LOCK_EX|LOCK_NB) — следующий тик тихо выходит, если предыдущий ещё жив; плюс singleInstance у планировщика. А двойную обработку ловит атомарный захват задачи (UPDATE … WHERE status=‘in_work’, affected_rows=0 → пропуск) — та самая «анти-дюп» строчка. Лок от параллельных запусков, claim — от двойной выдачи, если лок обошли.

Ох, сколько же нас, пишущих текстовые игры в виде бота в тг!

И кто во что горазд 🤣

здесь интересно навреное не столько ЛОР, СЕТТИНГ, а сколько игроков кроме тебя (меня) и наших друзей там реально есть))

Да и какая степень завершённости/играбельности.

По завершённости игра уже вполне себе целый организм: разведка, добыча, крафт в несколько тиров, базы с постройками, PvE, дуэли, фракции, квесты, NPC с диалогами, поселения, события, даже ферма с готовкой. Полноценная survival-MMO-петля, контента хватит надолго.

А вот честный ответ на первый вопрос -про живых игроков - отрезвляет ) Регистраций накопилось под полтысячи, но дальше первого экрана доходят единицы: процентов 90 застревают на 1 уровне, на второй день возвращается хорошо если каждый пятый. Так что код давно не главная битва. Главная это довести новичка от «/start» до момента, когда стало интересно: воронка, онбординг, первые 30 минут. Вот этим сейчас и занят.

Знакомая, подозреваю, история для всех нас из этого треда ))

Sign up to leave a comment.

Articles