1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lizhaoandroid-JgServer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 16.03.2025 12:20 9cd081f

JgServer

Описание проекта

JgServer — это серверный контейнер, разработанный с использованием языка Java и основанный на таких фреймворках, как Netty, Spring, MyBatis и Redis. Он поддерживает протоколы Tcp, Socket, WebSocket(SSL) и HTTP(S).

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

Код проекта прост в понимании, хорошо документирован и легко расширяется.

Используемые фреймворки: Spring, Netty, MyBatis, Redis, junit, log4j и др.Проект уже включает ряд стандартных инструментов: обработку сообщений (включая JSON строки, двоичные byte сообщения), механизм событий, проверку сердцебиения, управление логами, планирование задач, фреймворк работы с базой данных, пулы соединений с базой данных и др. #### Кодовая структура проекта

D:. 
├─.idea  
│  └─inspectionProfiles  
├─etc															скрипты  
│  └─sql																		
├─logs															логи  
├─src  
│  ├─main  
│  │  ├─java  
│  │  │  ├─com  
│  │  │  │  └─lizhaoblog  
│  │  │  │      ├─base											основные библиотеки  
│  │  │  │  │      │  ├─concurrent								конкурентность  
│  │  │  │  │      │  │  ├─commond								
│  │  │  │  │      │  │  ├─dictionary							
│  │  │  │  │      │  │  └─handler								
│  │  │  │  │      │  ├─constant								константы  
│  │  │  │  │      │  ├─event								    события  
│  │  │  │  │      │  ├─exception								исключения  
│  │  │  │  │      │  ├─factory								фабрики  
│  │  │  │  │      │  ├─message								сообщения  
│  │  │  │  │      │  ├─mybatis								инструменты работы с базой данных  
│  │  │  │  │      │  ├─network								сетевые компоненты  
│  │  │  │  │      │  │  ├─customer							клиенты сети  
│  │  │  │  │      │  │  ├─listener							слушатели событий  
│  │  │  │  │      │  │  └─processor							обрабатывающие потоки  
│  │  │  │  │      │  ├─redis								  работа с Redis  
│  │  │  │  │      │  ├─session								управление сессиями  
│  │  │  │  │      │  ├─util									вспомогательные утилиты  
│  │  │  │  │      │  └─xml									XML конфигурационные файлы  
```│  │  │  │  │      ├─demopro                                    тестовый код  
 │  │  │  │  │      │  └─net  
 │  │  │  │  │      └─server                                    основной пакет  
 │  │  │  │          ├─biz                                      бизнес логика  
 │  │  │  │          │  ├─constant                              константы  
 │  │  │  │          │  ├─dao                                   DAO слои  
 │  │  │  │          │  │  └─mysql  
 │  │  │  │          │  ├─dictionary                            словарь сообщений  
 │  │  │  │          │  ├─entity                                ENTITIES  
 │  │  │  │          │  │  └─cfg                                XML конфигурационные файлы  
 │  │  │  │          │  ├─event                                 конкретные события  
 │  │  │  │          │  ├─handler                               обработчики  
 │  │  │  │          │  └─scheduled                             планировщики задач  
 ```    │  │  │  │          │  └─services                            сервисный процессор  
      │  │  │  │          │      └─impl
      │  │  │  │          ├─channel                               различные протоколы
      │  │  │  │          │  └─tcp                                TCP протокол
      │  │  │  │          │      └─str
      │  │  │  │          ├─core                                  ядро сервиса
      │  │  │  │          │  ├─customer                           потребители
      │  │  │  │          │  ├─listener
      │  │  │  │          │  └─processor
      │  │  │  │          └─pojo                                  конфигурационные файлы
      │  │  │  └─org
      │  │  │      └─apache
      │  │  │          └─ibatis
      │  │  │              └─builder
      │  │  │                  └─annotation                      переопределение MyBatis
      │  │  └─resources                                        ресурсы
      │  │      ├─cfg                                          конфигурация CFG
      │  │      │  └─data-static-config                        сущность CFG
      │  │      ├─mybatis
     │  │      │  └─jpa
      │  │      ├─properties
      │  │      └─spring
      │  └─test                                              тестовое кодирование
      │      └─java
      │          └─com
      │              └─lizhaoblog
      │                  ├─common
      │                  ├─demopro
      │                  │  └─net
      │                  ├─javase
      │                  └─server                              тестирование сервера
      │                      └─channel
      │                          └─tcp
      │                              └─str
      └─target#### Программный фреймворк
 1.  Используемые фреймворки: Spring, Netty, MyBatis, Redis, JUnit, Log4j и т. д.
 2.  Интегрированная среда разработки: IntelliJ IDEA
 3.  Версия JDK: 1. 8#### Конфигурационные файлы
  1. db-config-dev.properties: конфигурация базы данных
  2. server-config-dev.properties: свойства сервера
  3. etc--sql--jg_server.sql: скрипт базы данных
  4. redis-config-dev.properties: свойства Redis
  5. xml-cfg-config-dev.properties: свойства xml-cfg

#### Предварительные условия запуска
1. server-config-dev.properties: свойства сервера требуют изменения
   - protocolType=TCP
   - protocolType=WEBSOCKET
2. db-config-dev.properties: конфигурация базы данных

#### Установочный гайд
  1. Запустите `com.lizhaoblog.Main` непосредственно в IDE
      1. Откройте IDE
      2. Измените конфигурационные файлы (пункт выше) по вашим требованиям
      3. Запустите функцию `com.lizhaoblog.Main`
      4. Тестирование: запустите соответствующий метод в `com.lizhaoblog.server.channel.NettyClientTest`
      - В этот момент закомментируйте строчку `targetPath` в тэге `build--resources--resource` файла `pom.xml`

  2. Запуск через jar
  	  1. Создание jar
          - Используйте Maven для сборки проекта, затем запустите его с помощью командной строки. Это включает в себя создание jar-файла со всеми ресурсами и отдельное создание jar-файла с ресурсами.
          - Контрольный выключатель находится в тэге `build--resources--resource` файла `pom.xml`.
          - Чтобы создать jar-файл со всеми ресурсами, закомментируйте строчку `targetPath`.
          - Наоборот, откройте строчку `targetPath` и закомментируйте `filtering`.
  	  2. Запуск
          - Запустите с помощью `"java -jar xxx.jar"`
          - `original-all-in-one-1.0-SNAPSHOT.jar`: это наш проект, который зависит от пакета `lib` в одной директории
          - `all-in-one-1.0-SNAPSHOT.jar`: это пакет, содержащий все необходимое#### Подробное описание
1. Обновление в реальном времени, адрес: Разработка Java-сервера игры, https://blog.csdn.net/cmqwan/article/details/80858272
2. Вы можете присоединиться к QQ-группе для совместного обсуждения вопросов разработки Java-сервера игры, ID группы: 676231564

#### Участие в развитии
1. Fork этого проекта
2. Создайте новую ветку `Feat_xxx`
3. Добавьте свои изменения
4. Создайте новый Pull Request

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lizhaoandroid-JgServer.git
git@api.gitlife.ru:oschina-mirror/lizhaoandroid-JgServer.git
oschina-mirror
lizhaoandroid-JgServer
lizhaoandroid-JgServer
dev1.01