Представление о проекте SphereWeb

  • Автор темы Автор темы Logan22
  • Дата начала Дата начала

Logan22

Гений мысли
Проверенный
Легенда Истоков
Победитель в номинации 2024
Знаток Lineage2
Орден Почета
Мастер реакций
Любитель реакций
Знаток письма
Медаль Благодарности
Старожил I степени
Медаль за активность на Форуме
За заслуги перед форумом
Преподаватель
За веру и верность форуму
Сообщения
1 661
Розыгрыши
0
Решения
3
Репутация
1 768
Реакции
1 530
Баллы
1 893
Доброго времени суток.
Хочу представить новый и бесплатный веб-движок (CMS / UCP) с богатым набором возможностей и отрытым исходным кодом для управления JAVA серверами.
Вероятно, моя работа это лучшее веб решение что есть, из числа бесплатных и платного (за исключением (визуально, не пользовался) - wizardcp).
Разработка не прекращена, она продолжается постоянно практически каждый день.

Прежде чем я опишу в подробностях возможности, помните, что я делал как лучше мне, мне - как игроку Lineage ][ .

Теперь возможности ЛК и нюансы.
Две возможности регистрации.
1. Без предварительной регистрации в ЛК, в этом случае, с регистрацией игрового аккаунта, зарегистрируется и профиль ЛК.
2. Регистрация из своего профиля в ЛК.

Быстрая и простая модальная панель регистрации, где у пользователя есть возможность не скрывать свой пароль от себя же, это удобно, если у пользователя много аккаунтов и он часто путешествует по серверам.
Иногда сложно придумать логин и пароль, по этому есть автогенерация логин и пароля.
1687901652420.png

Отображается зарегистрированные аккаунты так.
Как видите пароль, который не был скрыт, доступен для просмотра.
Его можно будет скрыть в любое время.
Ранее скрытый пароль сделать просматриваемым - запрещено.
1687902703510.png

Статистику (оно же и рейтинг) я сделал достаточно богатую.
PvP / PK / Кланы / Конкретный Клан / Замки / Герои / Время игры персонажей / Заблокированные / По классам / Просмотр информации персонажей.
1687903612873.jpeg
image.psd (4).jpg
Некоторые персонажи в статистики, вместо имени, имеют кнопку с именем.
Эта функция, которая позволит просматривать информацию о персонаже.
По умолчанию такая возможность недоступна, однако, каждый пользователь может включить для своего персонажа.
image.psd (1).jpg

Возможность разрешить/запретить доступ к просмотру данных персонажа посторонним пользователям.
image.psd (3).jpg

Самый неопределенный для меня раздел, я так и не решил как сделать лучше, проще и удобнее, и делал уже несколько вариантов. Пока остановился на таком.

Панель для пожертвования выглядит так.
На сайте своя валюта Донат Бонусы или Донат Очки (как Вам угодно), за пожертвование пользователь получает их, и может в разделе "Магазин" купить что-то за них.
Пользователь нажимает купить, вписывает ник своего персонажа и предмет отправляется персонажу, донат бонусы списываются.

Это раздел, где пользователь может создать публичную тему, описать проблему, прикрепить 3 (5) изображений, ввести переписку с администратором, добавлять сообщения.
В тикет не могут писать посторонние пользователи, только администратор и автор тикета.

Пользователь может распространить личную ссылку на регистрацию, и за привлеченного пользователя получать Донат Бонус.
По умолчанию, для того чтоб пользователю засчиталось привлечения игрока, игрок должен соответствовать ряду требований, по умолчанию это 3 час. игры, 80 уровень, 1 PvP, 1 PK - изменяется в конфиге.
1687914381914.png

Для динамики на сайте, чтоб на сайте было что-то новое и игроки могли хвастаться, я сделал систему галерей.
Пользователь может загружать скриншоты игры (кол-во ограничено), они будут опубликованы на главной страницы.
Публиковаться скриншоты будут только после одобрения администратором.


Администратор может создавать страницы двух типов, обычные страницы и новостные.
Администратор может включать/отключать возможность комментирования страницы пользователями.
Так и выбирать язык новости. Новости для русского языка, не будет выводиться тем у кого включен англ. язык, для них выводится англ. новости/страницы.

Давно хотели себе, чтоб чат из игры выводился на сайте в реал тайме?
Я решил что это очень интересно. И сделал.
1687905871142.png
По умолчанию на сайте выводится только чат GLOBAL / TRADE / обычный чат.
Чат пати, клан и прочие, выводятся только в админке, возможен поиск по сообщениям/игроку.
1687906003401.png
Следите за разделом, позже будет информация как это сделать.

С общими представлениями хватит, перейдем поверхностно к техническим аспектам.
Вы можете создавать неограниченное кол-во языковых пакетов.
Языковой пакет находится и имеет название ru.php или en.php , вы можете дополнить, просто создав новый файл с названием языка по стандарту ISO 639-1 и сделать в нем свой перевод.
Я не знаю сколько в будущем будет языковых пакетов, по этому заблаговременно сделал в конфе возможность выбирать какие языковые пакеты использовать.
1687908427116.png

Появилась такая вещь как коллекции, это PHP класс, который просто возвращает строку SQL запроса, в них общий стандарт запросов к каждой сборке. На данный момент, Вам нужно знать что тут (\src\component\base\source) реализуются запросы к БД. На данный момент там реализована работа со сборками L2jEternity, L2jOpen, L2jFirstTeam (267, 268, 271, 273), L2jLucera3 (746), L2jMobiusClassic (338, 362, 388, 414, 418).

После установки, вам может понадобится зарегистрировать свой сервер.
Кол-во серверов, которые могут работать с SphereWeb неограниченно.
В админке Сервер->Настройки->Добавить и заполняем все данные.
Тут стоит отметить, что после выбора версии игры, появится выше упомянутая коллекция запроса исходя из протокола версии игры.
1687907487613.png
После выбора хроник, будет возможна выборка коллекций.
1687907539894.png
...
1687907583718.png 1687907608420.png
Думаю с этим всё ясно, всё другое имеет однозначное описание.

Все данные, которые получаем из базы, будь то статистика, статистика персонажа или игровой чат-сервера... сохраняются в файл JSON формат и при повторном обращение к страницы, мы возвращаем сохраненные ранее результаты.
Время кэширования можно установить гибко.
1687907969043.png

Сервера, которые мы зарегистрировали в системе, выводятся в боковой панели.
На этой панели выводится ссылка на описание сервера (если указано в настройках), онлайн сервера, хроники, работает логин/гейм сервер, и ссылка на страницу обновления сервера (на данный момент не в публичном доступе, но кому интересно ->
).
Данные из этой панели тоже кэшируются.

Если мы хотим пользователя наградить определенным бонусным предметом, который пользователь отправит себе на персонажа, условно за розыгрыш или за голосование, красивые глазки...
Тогда мы записываем в таблицу bonus данные о подарке.
1687910914528.png
После этого, у пользователя появится новый значок сверху
1687910944485.png
При нажатии появится панель с бонусами.
1687910971199.png
При нажатии, предложит отправить на персонажа (это обязательно должен быть один из персонажей аккаунтов пользователя)
1687911026645.png

в файле можно отключить (false) или включить (true) определенные опции.

Эта информация про ту страницу, которую пользователь видит, когда заходит на Ваш сайт:
По умолчанию, шаблон используется только на главной страницы, больше нет страниц где будет использоваться Ваш шаблон.
Шаблоны можно сильно кастомизировать.
Создав в шаблоне файл route.php и указывать какие страницы роутера Вам нужны и какой html шаблон должен открываться.
<?php
$pages = [
'/download' => 'download.html',
'/about' => 'about.html',
];
В данном случае, при посещении страницы example.com/download будет открыта download.html страница.
Таким образом, шаблон абсолютно не привязывается к зарезервированным роутерам движка.
Аналогично обстоят дела и с языком, Вы можете в шаблоне определить свои языки и свой перевод создав в нем файл lang.php
<?php
return [
'ru' => [
'home' => 'Главная',
'important_announcements' => 'ВАЖНЫЕ ОБЪЯВЛЕНИЯ',
'project_streamers' => 'Стримеры проекта',
],
'en' => [
'home' => 'home',
'important_announcements' => 'IMPORTANT ANNOUNCEMENTS',
'project_streamers' => 'Project streamers',
],
];
Синтексис в шаблонах ->

За одно и упомяну, можно добавить в шаблон файл readme.json с описанием автора, скриншота шаблона, время создания, контактных данных разработчика шаблона.
Тогда у админа, при выборе шаблона будет информация.
1687913557130.png

Я дал Вам поверхностное описание, теперь я хочу рассказать о минусах, которые есть.

Так как кода написано там много, со временем образовался код, который не используется и никак не доходят руки удалить его, рефакторинговать.
Ещё к минусам я отношу - верблюжьим и змеиным регистром написан код.
Много где отсутствует комментарии / в некоторых местах (если ещё осталось) комментарии "прыгнули" в другие места, не над функцией (спасибо phpStorm).
Много есть кода, который можно улучшить, переписать более лаконично.
Мне не нравится, как я использую модули, без однозначного определения, просто обращаясь через неймспейс модуля.
Встречаются баги: без этого никуда, к тому же я часто что-то дорабатываю/делаю, но к счастью, я их моментально фиксю, как только получаю информацию.
Час от часу встречаются в шаблонах текст, без перевода на разные языки. Поправим.
Много где верстку нужно улучшить, доработать, поправить и сделать более красивее.

Необходимо PHP 8.2 , если Вы решите установить ниже, то работать не будет, так как я по мере устаревания переписываю старый код используя последние сахар новых версий.


Разработка бесплатная, публикуется на моем гитхаб
Вы можете изменять код под себя, или дорабатывать под себя, фиксить.
Почему бесплатно? - изначально я не планировал делать CMS/ЛК/UCP... а мне нужно было сделать просто веб-интерфейс для лаунчера, но я увлекся и продолжил делать.

Если у Вас есть возможность, установите через git .
Если нет, перейдите по ссылке и загрузите
1687911315721.png
Архив распакуйте, и перейдите на главную страницу сайта, если всё сработало, у вас откроется установщик, следуйте инструкции.
Если на этапе установки, произошел сбой, перестало грузится и т.д. отпишите мне в телеграмм, чтоб я ознакомился с проблемой и решил её.

Будет больше и подробнее как пользоваться... я описал тему на лету, не готовился. Следите за разделом, скоро будет больше информации.

Есть в планах сделать взаимосвязь с телеграммом.
Есть в планах сделать розыгрыши с выдачей призов, к примеру в виде бонус-кода, где пользователь введет код и получит рандомный приз.
Сделать лаунчер в ЛК, он готов, работает, но требуется доработки нюансов.
Появятся уведомления, к примеру кто-то написал в тикете, чтоб админу приходила информация об этом.

.... Я буду всегда рад Вашим идеям, а ещё лучше помощи , одному сложно, и делается оч долго.


Список новых доработок: Представление о проекте SphereWeb
 
Последнее редактирование:
Регистрация в зоне .eu доступна для регистрации только резидентам евросоюза (это оф инфа). Просветляйтесь. По впс - если вникнуть в нашу беседу с Логаном, то станет понятно, что он обозначил проблему в том что со стороны сервера, к которому обращается сфера, идут ограничения к запросам со стороны русскоязычных доменов\хостов, т.к. этот сервер расположен в Германии. Отсюда вопрос - решит ли ВПС эту проблему?
Это не повальная проблема, редкая но бывает, я таких 3-4 хоста встречал.
К примеру российский регру, предоставляет услуги хостинга, и там все без проблем работает. Но на нем сервера не сильно открывают, потому что для граждан Украины айпи данного хостинга заблокированы, но cloudflare спасет эту ситуацию.
 

Пардон. Это был мануал для добавления платежек в клауд. Но помню что был ещё прикол с какой то херней которую нужно было отключить через апи клауда что бы юзеры с РФ могли зайти на сайт под кладом.
 
Все изменится, у тебя ип будет от cloudflare.
Не будет.
Да, cloudflare решит проблему одну, тем что айпи сайта станет Калифорнии.
IP всё так же будет российским и запрос будет идти всё так же от ру региона. По хорошему всё это добро переделать на современное в виде Guzzle. Для того чтобы запросы шли, нужно поднимать прокси и использовать CURLOPT_PROXY.
Но вроде недавно были новости что в России банят клоудов или как-то приветствуют, но не знаю насколько это все продвинулись.
Как отключить ECH для вашего домена на Cloudflare

Шаг 1: Проверка включен ли ECH
Сначала необходимо проверить, включен ли ECH для вашего домена. Для этого перейдите по следующей ссылке, заменив [ВАШ_ДОМЕН]на ваш реальный домен: https://dns.google/resolve?name=[ВАШ_ДОМЕН]&type=HTTPS
Если в результатах видно, что ECH включен, то переходите к следующему шагу.
Шаг 2: Получение данных для API Cloudflare
Чтобы отключить ECH, вам понадобятся Global API Key и Zone ID вашего домена.
Global API Key. Перейдите на страницу Cloudflare по следующей ссылке и найдите ваш глобальный API-ключ: https://dash.cloudflare.com/profile/api-tokens
Zone ID. Перейдите в управление вашим доменом на Cloudflare и прокрутите вниз страницу. Найдите строку Zone ID и скопируйте её.
Шаг 3: Отключение ECH через API Cloudflare
Теперь, когда у вас есть Global API Key и Zone ID, вы можете отключить ECH с помощью команды curl. Выполните следующую команду, заменив {ID_ZONE} на ваш Zone ID, а {ACCOUNT_EMAIL} и {GLOBAL_API_KEY}на ваш email и API-ключ соответственно:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech" \ -H "X-Auth-Email: {ACCOUNT_EMAIL}" \ -H "X-Auth-Key: {GLOBAL_API_KEY}" \ -H "Content-Type:application/json" --data '{"id":"ech","value":"off"}'

Шаг 4: Отключение ECH через Postman
Вы также можете выполнить отключение через Postman:
В Postman выберите метод PATCH и введите URL: https://api.cloudflare.com/client/v4/zones/{ID_ZONE}/settings/ech
В Headers добавьте следующие поля:
Код:
X-Auth-Email: ваш email-адрес Cloudflare.
X-Auth-Key: ваш Global API Key.
Content-Type: application/json
В Body выберите raw и введите следующий JSON:
{"id": "ech", "value": "off"}

А для пользователей платных тарифов CloudFlare есть более простой вариант:
Зайдите в настройки SSL/TLS на панели Cloudflare.

Есть ещё 1 вариант выключить TLS 1.3 в CF.

Ещё стоит ожидать проблему с тем что клоуд может показывать скриптам/API во время запросов страницу где будут просить "нажмите что вы не бот", год назад из-за этого у многих не работали платёжки, ибо запрос не доходил до сайта 🤣.
Security WAF -> Custom Rules -> Create Rule. Главное знать IP адреса платежки. Если не знает человек, сразу выберет галочки и всё 1737842227818.webp
или используя редактор выражений
1737842251462.webp
 

Вложения

  • 1737842190600.webp
    1737842190600.webp
    24,2 КБ · Просмотры: 3
Последнее редактирование:
Только что проверил 2 своих сайта. Один на regru второй на firstvds
Потому что запрос идёт на сайт, а не с вашей машины. Когда вы выполняете запрос с помощью команды curl на сервере, где установлен PHP (или любой другой машине), этот запрос отправляется не через Cloudflare, а напрямую с IP-адреса вашей машины. Cloudflare защищает только внешние HTTP-запросы, которые идут на ваш сайт через их прокси.
Если же вы запускаете curl локально на сервере, то запрос выполняется напрямую от вашего реального сервера, и сервер-назначение видит реальный IP вашей машины. Это потому, что curl — это обычный HTTP-клиент, который работает независимо от настроек Cloudflare. Он просто берет ваш запрос и отправляет его, не проходя через прокси.
Если проще:
  1. Cloudflare работает для запросов, приходящих извне (например, от посетителей сайта).
  2. Когда вы запускаете curl на своей машине — запрос идет напрямую с ее IP, и сервер, к которому вы обращаетесь, видит именно этот реальный IP.
 
Ну в общем по итогу: пока подбирал vps, наткнулся на ещё один ру хостинг с триалом и попробовал накатить туда и вуаля:D
То есть таки сработала связка рухостинг+ .eu. Получается что она работает, но не на всех рухостах.
Спасибо всем кто принимал участие в решении проблемы
Но вот ещё что - кроме как +\- инфы на оф.сайте сферы и здешней шапки в этой теме от создателя сферы не нашёл более менее организованного FAQ по сфере2. Всю инфу, по сути, приходится собирать по крупицам то там то здесь. Может быть хорошо бы запилить официальный развёрнутый FAQ\Manual по сфере?( с ответами на вопрос платных\бесплатных функций, подключения API, конфигов настройки и т.д. и т.п.) Или он уже где-то есть и я просто его не нашёл?:D
 
То есть таки сработала связка рухостинг+ .eu
.en, ru. com и т.д. значение не имеют, это лишнее было.

Но вот ещё что - кроме как +\- инфы на оф.сайте сферы и здешней шапки в этой теме от создателя сферы не нашёл более менее организованного FAQ по сфере2. Всю инфу, по сути, приходится собирать по крупицам то там то здесь. Может быть хорошо бы запилить официальный развёрнутый FAQ\Manual по сфере?( с ответами на вопрос платных\бесплатных функций, подключения API, конфигов настройки и т.д. и т.п.) Или он уже где-то есть и я просто его не нашёл?:D
Просто Сфера 2 ещё в активной разработки и не публиковалась для широких масс предложение использовать, только на гитхабе пишется что есть 2 часть.
Буквально каждый день я дорабатываю, собираю логи от работающих серверов, и ищу проблемы, мне иногда пишут о проблемах и идеях, тем не менее её уже устанавливали на 188 различных доменов. Вероятно ещё скоро появится встроенный форум в лк, уже написано 5-6к строк кода для него. Потом сделаю большой рефакторинг, чтоб избавиться от неактуального кода, старого с Сферы 1, который просто устарел и не используется. Тогда уже сделаю большое описание.
Платные функции там пару плагинов, лаунчер, сбор статистики по предметам, рулетка, и сама Сфера.
 
Последнее редактирование:
Ну в общем по итогу: пока подбирал vps, наткнулся на ещё один ру хостинг с триалом и попробовал накатить туда и вуаля:D
То есть таки сработала связка рухостинг+ .eu. Получается что она работает, но не на всех рухостах.
Спасибо всем кто принимал участие в решении проблемы
Но вот ещё что - кроме как +\- инфы на оф.сайте сферы и здешней шапки в этой теме от создателя сферы не нашёл более менее организованного FAQ по сфере2. Всю инфу, по сути, приходится собирать по крупицам то там то здесь. Может быть хорошо бы запилить официальный развёрнутый FAQ\Manual по сфере?( с ответами на вопрос платных\бесплатных функций, подключения API, конфигов настройки и т.д. и т.п.) Или он уже где-то есть и я просто его не нашёл?:D
Домен не имеет не какого значение в данной проблеме. Проблема именно в хостинге. Как и было написано в первый раз Logan22 тебе на твою проблему.
 
UPD: в
Домен не имеет не какого значение в данной проблеме. Проблема именно в хостинге. Как и было написано в первый раз Logan22 тебе на твою проблему.
Как я понял дело в том где располагается сервер, выдающий домену ip (сиречь ip от хостинга). Т.е. в принципе не в самом домене дело (хотя я после случившегося всё равно с недоверием смотрю на ru\su\рф и т.д.:D).
З.Ы. Потестив сферу немного на хосте, я пришёл к выводу что надо ставить на vps и тестить там, иначе это всё полумеры)
 
Регистрация в зоне .eu доступна для регистрации только резидентам евросоюза (это оф инфа). Просветляйтесь. По впс - если вникнуть в нашу беседу с Логаном, то станет понятно, что он обозначил проблему в том что со стороны сервера, к которому обращается сфера, идут ограничения к запросам со стороны русскоязычных доменов\хостов, т.к. этот сервер расположен в Германии. Отсюда вопрос - решит ли ВПС эту проблему?
Домен вообще пофиг, все дело именно в впс
 
По поводу баг-репортов и т.д., их, если что, можно прямо сюда постить или как?
Вот пока что пару моментов обнаружил, проверял с разных браузеров:
Надписи "аккаунт и пароль"
Screenshot_2.webp
В окошке "Стоимость" в магазине не видно цифровое значение (я уже наловчился как ввести то что надо, но тем не менее)
Screenshot_3.webp
 
По поводу баг-репортов и т.д., их, если что, можно прямо сюда постить или как?
Вот пока что пару моментов обнаружил, проверял с разных браузеров:
Надписи "аккаунт и пароль"
Посмотреть вложение 83696
В окошке "Стоимость" в магазине не видно цифровое значение (я уже наловчился как ввести то что надо, но тем не менее)
Посмотреть вложение 83697
У сферы есть група в телеге. Вот туда и пиши, там быстрее логан увидет и исправит
 
По поводу баг-репортов и т.д., их, если что, можно прямо сюда постить или как?
Вот пока что пару моментов обнаружил, проверял с разных браузеров:
Надписи "аккаунт и пароль"
Посмотреть вложение 83696
В окошке "Стоимость" в магазине не видно цифровое значение (я уже наловчился как ввести то что надо, но тем не менее)
Посмотреть вложение 83697
Это какое расширение нужно поставить ?
У меня просто 1920×1080 я таких нюансов не замечаю
 
Господа, появился ещё вопрос по сфере: я сейчас на стадии выбора vps, и все более-менее подходящие варианты бью в whoise. Так вот периодически в ns записях селлеров vps встречаются записи от cloudflare (например как на скрине). Вопрос - будут ли возникать озвученные выше проблемы с зачислением доната и т.д. и т.п. при использовании vps у таких поставщиков?
Screenshot_4.webp
 
Господа, появился ещё вопрос по сфере: я сейчас на стадии выбора vps, и все более-менее подходящие варианты бью в whoise. Так вот периодически в ns записях селлеров vps встречаются записи от cloudflare (например как на скрине). Вопрос - будут ли возникать озвученные выше проблемы с зачислением доната и т.д. и т.п. при использовании vps у таких поставщиков?
Посмотреть вложение 83702
Если ты не собираешься использовать клаудфлеер тогда не должны быть проблемы с донатом. Если же будешь использовать клаудфлеер тогда из коробки будут проблемы с донатом так как на клауде нужно вносить ип мерчантов в белый список. Инструкцию я выкладывал в группе тг сферы.
 
Господа, появился ещё вопрос по сфере: я сейчас на стадии выбора vps, и все более-менее подходящие варианты бью в whoise. Так вот периодически в ns записях селлеров vps встречаются записи от cloudflare (например как на скрине). Вопрос - будут ли возникать озвученные выше проблемы с зачислением доната и т.д. и т.п. при использовании vps у таких поставщиков?
Посмотреть вложение 83702
Если эконом вариант, то берешь впс у аеза.нет, туда накатываешь Фаст панель, ИП пробрасывпешь через клауд и все, ты в меллениуме
 
Читал про них тут на форуме. Но я не хочу никуда ничего пробрасывать:D И cloudflare не хочу. Просто я нашёл vps с дц в европе по хорошим ценам и условиям, но меня смутили их nsки, вот и всё
 
Назад
Сверху Снизу