Repo Health

Рейтинг здоровья открытых репозиториев

Оценка от 0 до 100 по данным SourceCraft.

4 категории из 6, пересчёт раз в сутки. Как считается

  1. 28

    Приложение для знакомств с милфами

    184 дня назад0лайковСравнить
  2. 28

    обучение

    HTML85 дней назад0лайковСравнить
  3. 12105–12577oleg-philon/clients
    28

    simple client-mgmt.sh script and easyrsa setup for openvpn

    Shell93 дня назад0лайковСравнить
  4. 12105–12577omnisass/omnisass
    28

    JavaScript178 дней назад0лайковСравнить
  5. 28

    Дипломная работа с разработкой приложения в сфере медипроизводства на Swift.

    Swift587 дней назад0лайковСравнить
  6. 28

    Веб-версия классической игры Тетрис с управлением с клавиатуры, подсчетом очков и уровнями сложности.

    TSX37 дней назад0лайковСравнить
  7. 12105–12577opensoft/own
    28

    160 дней назад0лайковСравнить
  8. 12105–12577opnclw-org/gektor
    28

    опенкло

    JavaScript258 дней назад0лайковСравнить
  9. 28

    Pascal194 дня назад0лайковСравнить
  10. 12105–12577orsss/dgtu-ios
    28

    dstu hack iOS app

    230 дней назад0лайковСравнить
  11. 12105–12577overrlo/tps
    28

    Репощиторий по предмету Информационно-аналитические технологии поиска угроз

    41 день назад0лайковСравнить
  12. 28

    Техническое задание на исследование и реализацию концепции P2P-архитектуры в игровом движке Luanti (ранее Minetest) 1. Общие положения и цели проекта 1.1. Наименование проекта: "Децентрализованная сетевая архитектура для Luanti (P2P Luanti Proof-of-Concept)". 1.2. Основание для разработки: Отсутствие в движке Luanti встроенной поддержки одноранговых (P2P) сетевых моделей, ограничивающее создание полностью децентрализованных и отказоустойчивых игровых миров без выделенного сервера. 1.3. Цель проекта: Разработать и апробировать модификацию (мод) или прототип форка движка Luanti, демонстрирующий возможность работы в гибридной или чистой P2P-сети. 1.4. Ключевые задачи: * Провести анализ существующего сетевого протокола Luanti (UDP, типы пакетов CONTROL, RELIABLE, SPLIT) и выявить точки для интеграции P2P-логики. * Определить архитектурную модель децентрализации (полная P2P-сеть, гибридная модель с суперузлами, децентрализация по регионам мира). * Реализовать механизм discovery (обнаружения) пиров в локальной сети или через централизованный трекер-посредник. * Разработать протокол синхронизации состояния игрового мира между равноправными узлами. * Реализовать базовые игровые действия (размещение/удаление блока, перемещение игрока) в P2P-среде. * Обеспечить минимально необходимый уровень консенсуса для разрешения конфликтов. * Оценить производительность, задержки и стабильность работы прототипа. 2. Технические требования и архитектура 2.1. Базовый принцип: Отказ от модели единственного авторитетного сервера. Каждый подключенный клиент (пир) является полной или частичной копией игрового мира и участвует в обмене данными. 2.2. Модель синхронизации состояния: Использование подхода на основе операционных преобразований (Operational Transformation, OT) или бесконфликтных реплицируемых типов данных (Conflict-free Replicated Data Types, CRDT) для согласования изменений мира (например, массива блоков). Это позволит избежать жесткой блокировки и разрешить конфликты детерминированным способом. 2.3. Сетевая топология: Полносвязная (mesh) или гибридная топология. Для discovery пиров на первом этапе допустимо использовать легкий централизованный трекер (координатор), который лишь знакомит пиров друг с другом, после чего дальнейший обмен данными идет напрямую между ними (P2P). 2.4. Разделение мира: Игровой мир должен быть логически разделен на регионы (чанки). Ответственность за авторитетное состояние региона может динамически назначаться одному из пиров, находящихся в нем, или реплицироваться между всеми заинтересованными пирами. 2.5. Идентификация и безопасность: * Каждый пир и каждое действие должны иметь криптографически верифицируемый идентификатор. * Необходимо реализовать систему валидации входящих действий (проверка допустимости размещения блока, скорости перемещения) на основе заранее согласованных правил (гейм-логики), выполняемой каждым пиром. 2.6. Отказоустойчивость: Система должна оставаться работоспособной при отключении произвольного числа пиров. Состояние мира должно сохраняться за счет репликации между оставшимися узлами. 3. Этапы реализации (дорожная карта) 3.1. Этап 0: Подготовительный. * Исследование кодовой базы Luanti: сетевой код (`src/network/`), обработка пакетов, цикл синхронизации сервера и клиента. * Разработка стенда для тестирования: возможность запуска нескольких экземпляров движка на одной машине с эмуляцией сетевой задержки. 3.2. Этап 1: Базовое P2P-соединение (Proof-of-Concept). * Создание мода, переопределяющего стандартный сетевой стек. * Реализация простого трекера (отдельное приложение на Python/Go) для обмена IP-адресами и портами пиров. * Установка прямых UDP-соединений между пирами, минуя стандартный клиент-серверный протокол Luanti. * Синхронизация только позиций призрачных игроков (avatars) между всеми узлами. 3.3. Этап 2: Децентрализованное состояние мира. * Проектирование структуры данных для хранения и синхронизации карты блоков (чанков) как CRDT или с использованием OT. * Реализация механизма "подписки" на регионы мира: пир запрашивает и получает данные чанка у соседей, а не у центрального сервера. * Синхронизация размещения и удаления простого блока (например, `default:dirt`) между всеми пирами в зоне видимости. 3.4. Этап 3: Консенсус и валидация. * Внедрение простых правил валидации (например, проверка, что игрок может разместить блок только в соседнюю позицию). * Реализация базового механизма разрешения конфликтов при одновременном изменении одного блока разными пирами (например, через временные метки или порядок применения операций в CRDT). 3.5. Этап 4: Оптимизация и отладка. * Введение кэширования и предзагрузки чанков. * Оптимизация сетевого трафика (дельта-компрессия состояния, приоритизация пакетов). * Стресс-тестирование с большим количеством пиров и интенсивным изменением мира. * Профилирование производительности, выявление узких мест. 4. Критерии приемки и оценка успеха 4.1. Функциональные критерии: * Возможность подключения 3 и более пиров к совместной сессии без запуска выделенного сервера `minetestserver`. * Корректная синхронизация ландшафта и построек между всеми участниками. * Успешное разрешение конфликта при одновременном редактировании одного блока с предсказуемым результатом. * Отсутствие полного распада (desync) состояния мира между пирами при длительной сессии (более 30 минут). 4.2. Нефункциональные критерии: * Задержка (latency) между действием на одном пире и его отображением на другом не должна более чем на 50% превышать задержку в классической клиент-серверной модели при тех же сетевых условиях. * Нагрузка на CPU и память на каждом пире не должна превышать нагрузку, характерную для работы в качестве клиента на публичном сервере с аналогичной активностью. 5. Ограничения и риски 5.1. Фундаментальные ограничения: * Потенциально более высокая сложность отладки и непредсказуемость поведения по сравнению с централизованной моделью. * Сложность реализации механизмов, требующих глобального авторитетного состояния (например, сложная игровая логика с уникальными событиями). 5.2. Технические риски: * Невозможность эффективной синхронизации быстро меняющегося состояния (например, физики песка или воды) без чрезмерного сетевого трафика. * Уязвимость к читерству: в децентрализованной модели сложнее гарантировать, что все пиры выполняют правила. Требуются криптографические методы доказательства корректности действий. * Сложность масштабирования до очень большого количества игроков в одном регионе из-за взрывного роста количества соединений и синхронизируемых данных. 5.3. Вывод: Данное ТЗ описывает путь создания исследовательского прототипа. Его успешная реализация не гарантирует целесообразности немедленного внедрения P2P в основную ветку разработки Luanti, но должна дать четкое понимание компромиссов, производительности и потенциала децентрализованных архитектур для данного игрового движка.

    HTML141 день назад0лайковСравнить
  13. 12105–12577p4anf/bottg
    28

    Python92 дня назад0лайковСравнить
  14. 28

    281 день назад0лайковСравнить
  15. 28

    287 дней назад0лайковСравнить
  16. 12105–12577parsecvpn/hero
    28

    577 дней назад0лайковСравнить
  17. 28

    Лендинг кофейни «Кофейный котик» — учебный проект для лабораторной работы. Демонстрация навыков вёрстки: адаптивная сетка (Grid/Flex), семантический HTML, CSS‑переменные, анимации при наведении, плавная прокрутка. Код сгенерирован и доработан с помощью AI‑агента (Source Craft), структура разделена на файлы (HTML, CSS).

    CSS27 дней назад0лайковСравнить
  18. 28

    Лендинг для ИТ-стартапа

    HTML321 день назад0лайковСравнить
  19. 28

    My first fastapi project

    Python376 дней назад0лайковСравнить
  20. 28

    Implementation of https://pypi.org/project/open_gopro/#description library

    Python569 дней назад0лайковСравнить
  21. 28

    communication two apps throw sockets Server Script The server script needs to: Create a socket and bind it to an IP address and port. Listen for incoming connections. Accept a connection. Receive data from the client. Close the connection. 2. Client Script The client script will: Create a socket. Connect to the server's IP and port. Send data. Close the socket.

    Python583 дня назад0лайковСравнить
  22. 28

    Telegram Chat backup to PostgresDB

    Python460 дней назад0лайковСравнить
  23. 28

    https://pypi.org/project/tapi-yandex-metrika/

    Python495 дней назад0лайковСравнить
  24. 28

    Android приложение для бросания курить с таймером, статистикой и достижениями

    Kotlin320 дней назад0лайковСравнить
  25. 28

    Анализ анаомальных "заборчиков" в логах VictoriaMetrics

    277 дней назад0лайковСравнить
Показать ещё 25

12 401–12 425 из 21 903