Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Minecraft Social

Но если такой сложный проект,то нужно реализовать защиту не только в клиенте,но и на сервере,я расскажу как:
Надо написать протокол тонкого клиента и будет взаимодействовать с сервером нитями выполнения,но чтобы происходило соединение с сервером нужен поток.
Для сайта я бы посоветовал базу данных SQLite.
А ещё архитектура должна быть полностью лаконичной,с соответствием и клиента и сервера.
Протокол который будет использоваться,будет полностью написан на C++,но чтобы это всё работало надо много времени,а суть я расскажу тонкий клиент это тот клиент который полностью соответствует серверу,но сервер с более большими зависимостями,нити выполнения это нити логики сервера и клиента,которые координируют и клиент и сервер,и эти нити сливаются в один поток.
Дело в том что эта система должна быть очень низкоуровневой,и поток должен превращаться в http запрос.
И ещё нужен рефакторинг всего лаунчера для реализации всего этого.
 
Но если такой сложный проект,то нужно реализовать защиту не только в клиенте,но и на сервере,я расскажу как:
Надо написать протокол тонкого клиента и будет взаимодействовать с сервером нитями выполнения,но чтобы происходило соединение с сервером нужен поток.
Для сайта я бы посоветовал базу данных SQLite.
А ещё архитектура должна быть полностью лаконичной,с соответствием и клиента и сервера.
Протокол который будет использоваться,будет полностью написан на C++,но чтобы это всё работало надо много времени,а суть я расскажу тонкий клиент это тот клиент который полностью соответствует серверу,но сервер с более большими зависимостями,нити выполнения это нити логики сервера и клиента,которые координируют и клиент и сервер,и эти нити сливаются в один поток.
Дело в том что эта система должна быть очень низкоуровневой,и поток должен превращаться в http запрос.
И ещё нужен рефакторинг всего лаунчера для реализации всего этого.
Сам то сказал, что понял? :confused:
> Нити выполнения
> Соединение с сервером нужен поток.
> Тонкий клиент
> Поток должен превращаться в http запрос

----
1) Переписать протокол майнкрафта по сложности сравнимо с написанием самого майнкрафта. Я это делал, и знаю что это такое.
2) SQLite для больших проектов как раз таки лучше не использовать.
3) Потоки клиента и сервера синхиронизировать через сокет (или HTTP запрос) - бред
4) "Система должна быть очень низкоуровневой" и "поток должен превращаться в http запрос" - взаимоисключающие параграфы
5) Нафига stream-протокол конвертировать в HTTP-запросы? Мало того, что это не имеет смысла (stream-протоколы гораздо гибче), так это еще и тормозить будет! (HTTP-заголовки, оверхед на парсинг и генерацию запроса, на выполнение запроса) + Так как HTTP - не stream-протокол, то для заворачивания потока в HTTP нужно будет что-то типа сессии или UUID, который должен передаваться с каждым запросом. Есть, конечно, Keep-Alive аттрибут, но это вовсе не панацея, ведь максимальный срок жизни Keep-Alive - 30 секунд по умолчанию.
6) Нужен не рефакторинг, а полное переписывание и лаунчера, и клиента, и сервера. И в таком случае не вижу причины почему бы вообще не отказаться от лаунчера, как от не нужного звена запуска клиента (Клиент запускает сам себя и качает себе либы, тоже реализовывал на RMC)

---
Tl;dr: Много затрат вникуда, и от читов это даст лишь временную защиту, пока этот весь костыль будут анализировать.
 
Последнее редактирование:
Но если великий создатель @new-sashok724 популярного в странах СНГ лаунчера то да это всё очень сложно реализовать.
 
Но если великий создатель @new-sashok724 популярного в странах СНГ лаунчера то да это всё очень сложно реализовать.
Ага. А ещё и реализовывать всё это бессмысленно. И у меня к Вам просьба: ставьте, пожалуйста, знаки препинания.
 
Почитал тему. Вообще уже есть в какой-то мере связка, которой многие пользуется в развитых странах.
Аутентификация на серверах Mojang, лаунчеры FTB/Techniс с возможностью добавления своих паков, игрокам дается код ссылка/для загрузки этого пака.

@HyperCOGENT
SQLite - не годится для конкурентной нагрузки и не поддерживает транзакции.
Пытался понять, что там написано в посте, только по-моему, все уже в текущей реализации клиента/сервера есть, логика одна и та же и синхронизация. В любом случаем переписывание клиентов/серверов этому проекту вообще не нужно, так как разные версии, разные моды и прочее. Огромный труд, который не окупится.
 

Поделиться этой страницей

Назад
Верх