Перейти к содержанию

Electr0

Администраторы
  • Постов

    10 396
  • Зарегистрирован

  • Посещение

  • Победитель дней

    417

Весь контент Electr0

  1. метод 3 взят в работу, других логических исключений пока не нашел.
  2. метод 3: что если во время загрузки слота записывать и прибавлять число загрузок слота. Допустим загрузили слот на приватной меге: после чего его число загрузок стало 1 пошли на обычную мегу число загрузок стало 2 вернулись на приватный сервер там у загруженного слота число загрузок 1, а по базе данных 2, значит слот невалидный и загружался где-то еще, шлем на три стороны света вынуждая игрока удалить слот с карты и загрузить снова чтобы он мог снова сохранять слот или что-то еще что требует сохранения данных слота в базу данных. точно такую же проверку делаем при операциях сохранения или продажи.
  3. в случае потери соединения сервера с интернетом и не выхода на связь больше он не сможет сказать что слот игрока нигде не загружен, этот метод по этому параметру тоже такой себе способ получается. В таком случае для обхода этого исключения нужно добавлять epochstamp времени и если запись в базе данных старше 5 минут то ее во время сеанса связи нужно удалить и не брать в расчет. Сервер же должен раз в 2-4 минуты подтверждать статус слота.
  4. так.. а ведь это не закроет проблему когда игрок просто загрузил слот на двух мегах по очереди и пошел продавать с них предметы. Нужен более извращенный метод возможно придется записывать в базу данных загруженные в данный момент слоты игроков, если есть информация что слот загружен на другом сервере то игроку доступна только загрузка слота и не более. В таком случае если происходит рестарт раунда, пометка что слот не загружен, смена карты, нужно делать запрос в базу данных об удалении записи загруженности слота. Главное в этом способе это обеспечить наиболее надежную работу записи статуса слота в базу данных любые изменения статуса слота должны быть отражены иначе пострадает возможность игрока делать со слотом легитимные вещи. при старте карты сервер обязан отчитатся в таблицу статусов слотов о данных по загруженности слотов игроков.
  5. примерный вариант фикса: в базе данных слотов добавляем поле version оно будет зашиваться при сохранении слота прибавляя +1 при каждом сохранении. далее во время сохранения во время прошивки слота предметам заодно прошиваем и номер version , при входе на сервер во время сборки данных о названиях слотов и количества предметов в них заодно записываем значение version каждого слота, и финальное: при сохранении проверяем данные version из предметов и у слота на карте, не сходятся? тогда кумбек
  6. функция подгрузки с карты отцовства предметов сыграла злую шутку (ведь спасались так те кто случайно вылетел с сервера), возможно нужно будет внедрять идентификатор сохраненному слоту, если он не сходится с тем что в базе данных значит это скажем так не валидный слот и сохранять его нельзя.
  7. в связи с этим приватная мега и обычная вторая отключены до момента выработки фикса, скорее всего на месяц полтора т.к. времени у меня не будет после 27 января вообще.
  8. Synthetic Impulse - Do not Leave

  9. ты их уже получил жадина
  10. Значение Статус изменено на: Сделано
  11. +300к игровых за продвижение идеи
  12. Celldweller - Down to Earth

  13. Celldweller - Offworld

  14. Значение Статус изменено на: Публичное тестирование
  15. Значение Статус изменено на: Публичное тестирование
  16. Значение Статус изменено на: Публичное тестирование
  17. зачатки данной процедуры уже были, при загрузке предметам не имеющим слот он выставляется тем под которым загружается снимок, но в этом случае мы не защищены от повторной загрузки несохраненных предметов под другим слотом ведь они как пластилин какой слот указали такой и будет и так можно делать бесконечно долго.
×
×
  • Создать...