├── Runtime
├── boot.sh
├── data
│ └── GeoIP2-Country.mmdb
└── config
│ └── app.properties
├── docs
├── _includes
│ ├── assets
│ │ ├── custom.js
│ │ ├── custom.scss
│ │ └── sw.caches.js
│ ├── extra
│ │ ├── footer.html
│ │ └── head.html
│ ├── node
│ │ ├── title.liquid
│ │ ├── script.liquid
│ │ ├── script.schema.liquid
│ │ └── script.extension.liquid
│ ├── reset
│ │ ├── version.liquid
│ │ ├── i18n.liquid
│ │ ├── tabs.liquid
│ │ ├── description.liquid
│ │ ├── content.liquid
│ │ ├── defaults.liquid
│ │ ├── site_pages.liquid
│ │ ├── navigation.liquid
│ │ ├── title.liquid
│ │ └── workdir.liquid
│ ├── shortcodes
│ │ ├── mermaid.liquid
│ │ ├── note.liquid
│ │ ├── tip.liquid
│ │ ├── danger.liquid
│ │ └── warning.liquid
│ ├── list.liquid
│ ├── addons
│ │ ├── analytics.liquid
│ │ └── github.liquid
│ ├── extend
│ │ └── list.liquid
│ └── class
│ │ ├── content-wrap.liquid
│ │ ├── sidebar-wrap.liquid
│ │ ├── _toctree.liquid
│ │ └── addons-wrap.liquid
├── .github
│ ├── CODEOWNERS
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE
│ │ └── bug_report.md
│ ├── CONTRIBUTING.md
│ └── dependabot.yml
├── CNAME
├── requirements.txt
├── assets
│ ├── css
│ │ ├── theme.scss
│ │ └── fonts
│ │ │ ├── lato-bold.woff
│ │ │ ├── lato-bold.woff2
│ │ │ ├── lato-normal.woff
│ │ │ ├── lato-normal.woff2
│ │ │ ├── Roboto-Slab-Bold.woff
│ │ │ ├── Roboto-Slab-Bold.woff2
│ │ │ ├── lato-bold-italic.woff
│ │ │ ├── lato-bold-italic.woff2
│ │ │ ├── Roboto-Slab-Regular.woff
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.ttf
│ │ │ ├── fontawesome-webfont.woff
│ │ │ ├── lato-normal-italic.woff
│ │ │ ├── lato-normal-italic.woff2
│ │ │ ├── Roboto-Slab-Regular.woff2
│ │ │ └── fontawesome-webfont.woff2
│ ├── images
│ │ ├── idea_run.png
│ │ ├── framework.png
│ │ ├── favicon-16x16.png
│ │ ├── favicon-32x32.png
│ │ ├── favicon-96x96.png
│ │ ├── actor_framework.png
│ │ ├── apple-touch-icon-300x300.jpg
│ │ └── favicon.svg
│ ├── pages.liquid
│ ├── robots.liquid
│ ├── sw.caches.liquid
│ ├── 404.liquid
│ ├── search.liquid
│ └── sitemap.liquid
├── .prettierignore
├── _sass
│ ├── lib
│ │ ├── @primer
│ │ │ └── css
│ │ │ │ ├── loaders
│ │ │ │ ├── index.scss
│ │ │ │ ├── loaders.scss
│ │ │ │ └── README.md
│ │ │ │ ├── breadcrumb
│ │ │ │ ├── index.scss
│ │ │ │ ├── breadcrumb.scss
│ │ │ │ └── README.md
│ │ │ │ ├── buttons
│ │ │ │ ├── index.scss
│ │ │ │ └── README.md
│ │ │ │ ├── base
│ │ │ │ ├── index.scss
│ │ │ │ ├── README.md
│ │ │ │ └── kbd.scss
│ │ │ │ ├── forms
│ │ │ │ ├── index.scss
│ │ │ │ ├── README.md
│ │ │ │ ├── form-select.scss
│ │ │ │ ├── input-group.scss
│ │ │ │ └── radio-group.scss
│ │ │ │ ├── markdown
│ │ │ │ ├── index.scss
│ │ │ │ ├── README.md
│ │ │ │ ├── blob-csv.scss
│ │ │ │ └── tables.scss
│ │ │ │ ├── support
│ │ │ │ ├── index.scss
│ │ │ │ ├── README.md
│ │ │ │ └── mixins
│ │ │ │ │ └── misc.scss
│ │ │ │ └── utilities
│ │ │ │ ├── box-shadow.scss
│ │ │ │ ├── index.scss
│ │ │ │ ├── README.md
│ │ │ │ └── details.scss
│ │ └── material-design-lite
│ │ │ └── _functions.scss
│ ├── class
│ │ ├── content-wrap.scss
│ │ ├── header.scss
│ │ ├── container.scss
│ │ ├── title.scss
│ │ ├── addons-wrap.scss
│ │ └── toasts.scss
│ ├── _reset.scss
│ ├── _root.scss
│ ├── theme.scss
│ └── _variables.scss
├── Gemfile
├── .gitignore
├── code
│ ├── serialization.md
│ └── architecture.md
├── _config.yml
├── jekyll-rtd-theme.gemspec
├── _layouts
│ ├── tasks
│ │ └── compress.liquid
│ └── default.liquid
├── package.json
├── webpack.config.js
└── LICENSE
├── GameServer
├── settings.gradle
├── src
│ └── main
│ │ ├── resource
│ │ └── build_mybatis.txt
│ │ └── java
│ │ └── com
│ │ └── codebroker
│ │ ├── protobuff
│ │ ├── common
│ │ │ ├── CreatesOrBuilder.java
│ │ │ ├── DeletesOrBuilder.java
│ │ │ └── UpdatesOrBuilder.java
│ │ ├── item
│ │ │ ├── BuyItemRequestOrBuilder.java
│ │ │ ├── BuyItemResponseOrBuilder.java
│ │ │ └── ItemBeanOrBuilder.java
│ │ ├── user
│ │ │ ├── CreateResponseOrBuilder.java
│ │ │ └── CreateRequestOrBuilder.java
│ │ └── alliance
│ │ │ ├── CreateAllianceResponseOrBuilder.java
│ │ │ └── CreateAllianceRequestOrBuilder.java
│ │ ├── demo
│ │ ├── service
│ │ │ ├── alliance
│ │ │ │ ├── message
│ │ │ │ │ └── GetAllianceName.java
│ │ │ │ ├── handler
│ │ │ │ │ ├── UserLogout.java
│ │ │ │ │ ├── UserLogin.java
│ │ │ │ │ ├── DoSomeLogicMessage.java
│ │ │ │ │ ├── GetMessage.java
│ │ │ │ │ └── UserInit.java
│ │ │ │ └── AllianceService.java
│ │ │ ├── item
│ │ │ │ ├── handler
│ │ │ │ │ ├── UserLogout.java
│ │ │ │ │ ├── UserLogin.java
│ │ │ │ │ └── UserInit.java
│ │ │ │ └── ItemService.java
│ │ │ └── user
│ │ │ │ ├── handler
│ │ │ │ ├── UserInit.java
│ │ │ │ ├── UserLogout.java
│ │ │ │ └── UserLogin.java
│ │ │ │ └── UserService.java
│ │ ├── request
│ │ │ ├── CreatesHandler.java
│ │ │ ├── DeletesHandler.java
│ │ │ ├── UpdatesHandler.java
│ │ │ ├── CreateResponseHandler.java
│ │ │ ├── BuyItemResponseHandler.java
│ │ │ ├── ItemBeanHandler.java
│ │ │ ├── CreateAllianceResponseHandler.java
│ │ │ ├── CreateAllianceRequestHandler.java
│ │ │ ├── FullTestHandler.java
│ │ │ ├── BuyItemRequestHandler.java
│ │ │ └── ResponseCommonHandler.java
│ │ └── userevent
│ │ │ ├── UserLostSessionEvent.java
│ │ │ └── UserLogoutEvent.java
│ │ └── mybatis
│ │ ├── gameserver1
│ │ ├── model
│ │ │ ├── GameItem.java
│ │ │ └── GameUser.java
│ │ └── mapper
│ │ │ ├── GameItemMapper.java
│ │ │ └── GameUserMapper.java
│ │ └── global
│ │ └── model
│ │ └── UserAcccount.java
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── Dockerfile
├── boot
├── settings.gradle
├── src
│ └── main
│ │ └── java
│ │ └── com
│ │ └── codebroker
│ │ └── launcher
│ │ ├── IClassLoader.java
│ │ └── BootException.java
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── build.gradle
├── CodeBroker
├── .gitignore
├── src
│ ├── main
│ │ ├── resource
│ │ │ ├── proto
│ │ │ │ ├── generateProto.bat
│ │ │ │ ├── protoc.exe
│ │ │ │ ├── AllianceMessage.proto
│ │ │ │ ├── com
│ │ │ │ │ └── codebroker
│ │ │ │ │ │ └── protobuff
│ │ │ │ │ │ ├── common
│ │ │ │ │ │ ├── CreatesOrBuilder.java
│ │ │ │ │ │ ├── DeletesOrBuilder.java
│ │ │ │ │ │ └── UpdatesOrBuilder.java
│ │ │ │ │ │ ├── item
│ │ │ │ │ │ ├── BuyItemRequestOrBuilder.java
│ │ │ │ │ │ ├── BuyItemResponseOrBuilder.java
│ │ │ │ │ │ └── ItemBeanOrBuilder.java
│ │ │ │ │ │ ├── user
│ │ │ │ │ │ ├── CreateResponseOrBuilder.java
│ │ │ │ │ │ └── CreateRequestOrBuilder.java
│ │ │ │ │ │ └── alliance
│ │ │ │ │ │ ├── CreateAllianceResponseOrBuilder.java
│ │ │ │ │ │ └── CreateAllianceRequestOrBuilder.java
│ │ │ │ ├── ItemMessage.proto
│ │ │ │ ├── CommonMessage.proto
│ │ │ │ └── UserMessage.proto
│ │ │ ├── script
│ │ │ │ ├── Demo1.py
│ │ │ │ └── PythonScriptListener.py
│ │ │ ├── game_server_1.sql
│ │ │ ├── certs
│ │ │ │ ├── ca.pem
│ │ │ │ ├── server1.key
│ │ │ │ └── server1.pem
│ │ │ └── global_server.sql
│ │ └── java
│ │ │ └── com
│ │ │ └── codebroker
│ │ │ ├── net
│ │ │ ├── TransportType.java
│ │ │ ├── http
│ │ │ │ ├── HTTPRequest.java
│ │ │ │ └── HttpClientActor.java
│ │ │ ├── netty
│ │ │ │ ├── filter
│ │ │ │ │ └── ByteArrayPacketCodecEncoder.java
│ │ │ │ └── NettyServerInitializer.java
│ │ │ └── IoMonitorImpl.java
│ │ │ ├── util
│ │ │ ├── security
│ │ │ │ ├── PermissionProfile.java
│ │ │ │ └── PrivilegeManager.java
│ │ │ ├── JarFileMonitor.java
│ │ │ ├── MathUtil.java
│ │ │ ├── zookeeper
│ │ │ │ ├── ChildListener.java
│ │ │ │ ├── DataListener.java
│ │ │ │ ├── StateListener.java
│ │ │ │ ├── listener
│ │ │ │ │ └── ServerWatch.java
│ │ │ │ └── ZookeeperClient.java
│ │ │ ├── stats
│ │ │ │ └── ITrafficMeter.java
│ │ │ └── PerformanceMonitor.java
│ │ │ ├── exception
│ │ │ ├── NoAuthException.java
│ │ │ ├── NoServerException.java
│ │ │ ├── FileNotExitException.java
│ │ │ ├── CodecException.java
│ │ │ ├── CRuntimeException.java
│ │ │ └── ManagerNotFoundException.java
│ │ │ ├── api
│ │ │ ├── internal
│ │ │ │ ├── IDGenerator.java
│ │ │ │ ├── ICoreService.java
│ │ │ │ ├── net
│ │ │ │ │ ├── MessageChainOfResponsibility.java
│ │ │ │ │ └── IPacketQueue.java
│ │ │ │ ├── IPacket.java
│ │ │ │ ├── IResultStatusMessage.java
│ │ │ │ ├── IHandlerMessage.java
│ │ │ │ ├── ComponentRegistry.java
│ │ │ │ ├── ManagerLocator.java
│ │ │ │ ├── IService.java
│ │ │ │ ├── InternalContext.java
│ │ │ │ └── ByteArrayPacket.java
│ │ │ ├── event
│ │ │ │ ├── IEventHandler.java
│ │ │ │ ├── IEvent.java
│ │ │ │ ├── IEventDispatcher.java
│ │ │ │ ├── IGameUserEventListener.java
│ │ │ │ └── Event.java
│ │ │ ├── classloader
│ │ │ │ ├── IClassLoader.java
│ │ │ │ └── JarLoader.java
│ │ │ ├── IoSession.java
│ │ │ ├── IClientRequestHandler.java
│ │ │ ├── IHandlerFactory.java
│ │ │ └── AppListener.java
│ │ │ ├── core
│ │ │ ├── ReloadMode.java
│ │ │ ├── actortype
│ │ │ │ ├── timer
│ │ │ │ │ └── TimeTask.java
│ │ │ │ └── message
│ │ │ │ │ └── ISessionManager.java
│ │ │ ├── ShutdownHook.java
│ │ │ ├── monitor
│ │ │ │ └── MonitorEventType.java
│ │ │ ├── StartupKernelContext.java
│ │ │ └── remote
│ │ │ │ ├── IRemoteActorManager.java
│ │ │ │ └── IRemoteActorMessage.java
│ │ │ ├── redis
│ │ │ └── collections
│ │ │ │ ├── RankingStructure.java
│ │ │ │ ├── SetStructure.java
│ │ │ │ ├── exception
│ │ │ │ ├── IrregularKeyValue.java
│ │ │ │ └── RedisBuilderException.java
│ │ │ │ ├── ListStructure.java
│ │ │ │ ├── Expirable.java
│ │ │ │ ├── MapStructure.java
│ │ │ │ ├── QueueStructure.java
│ │ │ │ ├── CountStructure.java
│ │ │ │ ├── Ranking.java
│ │ │ │ ├── keyValueRedisStructure.java
│ │ │ │ ├── builder
│ │ │ │ ├── RedisUtils.java
│ │ │ │ ├── ranking
│ │ │ │ │ ├── RankingLong.java
│ │ │ │ │ ├── RankingDouble.java
│ │ │ │ │ ├── RankingStructureLong.java
│ │ │ │ │ └── RankingStructureDouble.java
│ │ │ │ ├── AbstractExpirable.java
│ │ │ │ ├── impl
│ │ │ │ │ ├── MapStructureImpl.java
│ │ │ │ │ ├── SetStructureImpl.java
│ │ │ │ │ ├── ListStructureImpl.java
│ │ │ │ │ └── QueueStructureImpl.java
│ │ │ │ └── buider
│ │ │ │ │ ├── MapStructureBuilder.java
│ │ │ │ │ ├── SetStructureBuilder.java
│ │ │ │ │ ├── ListStructureBuilder.java
│ │ │ │ │ └── QueueStructureBuilder.java
│ │ │ │ └── ScoresPoint.java
│ │ │ ├── jmx
│ │ │ ├── NettyTcpSupervisorControl.java
│ │ │ ├── annotations
│ │ │ │ ├── ManagedDescription.java
│ │ │ │ └── ManagedAnnotation.java
│ │ │ ├── IoMonitorControl.java
│ │ │ └── InstanceMXBean.java
│ │ │ ├── extensions
│ │ │ ├── request
│ │ │ │ └── filter
│ │ │ │ │ ├── FilterAction.java
│ │ │ │ │ ├── ClientExtensionFilter.java
│ │ │ │ │ └── IFilter.java
│ │ │ └── service
│ │ │ │ ├── IServiceClientRequestHandler.java
│ │ │ │ └── RequestKeyMessage.java
│ │ │ ├── cluster
│ │ │ └── ServerOnline.java
│ │ │ ├── protocol
│ │ │ └── InitKryoInitializer.java
│ │ │ └── component
│ │ │ └── extension
│ │ │ └── GeoIPExtension.java
│ └── test
│ │ └── java
│ │ └── com
│ │ └── codebroker
│ │ ├── demo
│ │ ├── client
│ │ │ ├── CmdId.java
│ │ │ └── ClientInitializer.java
│ │ └── protobuff
│ │ │ └── template
│ │ │ └── ProtobuffRequest.ftl
│ │ └── com
│ │ └── codebroker
│ │ └── protobuff
│ │ ├── common
│ │ ├── CreatesOrBuilder.java
│ │ ├── DeletesOrBuilder.java
│ │ └── UpdatesOrBuilder.java
│ │ ├── item
│ │ ├── BuyItemRequestOrBuilder.java
│ │ ├── BuyItemResponseOrBuilder.java
│ │ └── ItemBeanOrBuilder.java
│ │ ├── user
│ │ ├── CreateResponseOrBuilder.java
│ │ └── CreateRequestOrBuilder.java
│ │ └── alliance
│ │ ├── CreateAllianceResponseOrBuilder.java
│ │ └── CreateAllianceRequestOrBuilder.java
├── config
│ ├── GeoIP2-Country.mmdb
│ ├── app1.properties
│ ├── app4.properties
│ ├── app3.properties
│ └── app2.properties
└── settings.gradle
├── AccountServer
├── settings.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── src
│ └── main
│ └── java
│ └── com
│ └── codebroker
│ └── demo
│ └── service
│ └── account
│ ├── model
│ └── Account.java
│ ├── AccountService.java
│ └── manager
│ └── AccountDBManager.java
├── WebAPITest
├── settings.gradle
└── src
│ └── main
│ └── java
│ └── com
│ └── codebroker
│ ├── web
│ └── api
│ │ ├── controller
│ │ ├── BenchmarksController.java
│ │ └── IndexController.java
│ │ ├── service
│ │ ├── NettyClientService.java
│ │ ├── api
│ │ │ └── IRegisty.java
│ │ ├── RobotManager.java
│ │ └── netty
│ │ │ └── SingleRegisty.java
│ │ └── WebApiBoot.java
│ └── protobuff
│ ├── common
│ ├── CreatesOrBuilder.java
│ ├── DeletesOrBuilder.java
│ └── UpdatesOrBuilder.java
│ ├── item
│ ├── BuyItemRequestOrBuilder.java
│ ├── BuyItemResponseOrBuilder.java
│ └── ItemBeanOrBuilder.java
│ ├── user
│ ├── CreateResponseOrBuilder.java
│ └── CreateRequestOrBuilder.java
│ └── alliance
│ ├── CreateAllianceResponseOrBuilder.java
│ └── CreateAllianceRequestOrBuilder.java
├── Dockerfile
└── .gitignore
/Runtime/boot.sh:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/_includes/assets/custom.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/_includes/assets/custom.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/_includes/extra/footer.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/_includes/extra/head.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @saowang
2 |
--------------------------------------------------------------------------------
/docs/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | https://github.com/zerosoft/CodeBroker
--------------------------------------------------------------------------------
/docs/requirements.txt:
--------------------------------------------------------------------------------
1 | sphinx-rtd-theme>=0.5.0
2 |
--------------------------------------------------------------------------------
/GameServer/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'GameServer'
--------------------------------------------------------------------------------
/boot/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'boot'
2 |
3 |
--------------------------------------------------------------------------------
/docs/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | custom: ["https://git.io/JJAW8"]
2 |
--------------------------------------------------------------------------------
/docs/_includes/node/title.liquid:
--------------------------------------------------------------------------------
1 |
{{ title }}
2 |
--------------------------------------------------------------------------------
/docs/_includes/reset/version.liquid:
--------------------------------------------------------------------------------
1 | {%- assign version = "2.0.8" -%}
2 |
--------------------------------------------------------------------------------
/docs/assets/css/theme.scss:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 | @import "theme.scss";
5 |
--------------------------------------------------------------------------------
/docs/.prettierignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | _site
3 |
4 | assets/**/*.min.*
5 |
--------------------------------------------------------------------------------
/CodeBroker/.gitignore:
--------------------------------------------------------------------------------
1 | /.gradle/
2 | /.idea/
3 | /gradle/
4 | /bin/
5 | /build/
6 |
--------------------------------------------------------------------------------
/AccountServer/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'AccountServer'
2 | //includeFlat 'CodeBroker'
--------------------------------------------------------------------------------
/WebAPITest/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'WebAPITest'
2 | //includeFlat 'CodeBroker'
3 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/proto/generateProto.bat:
--------------------------------------------------------------------------------
1 | .\protoc.exe --proto_path=. --java_out=. ./*.proto
--------------------------------------------------------------------------------
/docs/_includes/reset/i18n.liquid:
--------------------------------------------------------------------------------
1 | {%- assign __ = site.translate | default: site.data.translate -%}
2 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/loaders/index.scss:
--------------------------------------------------------------------------------
1 | @import "../support/index.scss";
2 | @import "./loaders.scss";
3 |
--------------------------------------------------------------------------------
/docs/assets/images/idea_run.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/idea_run.png
--------------------------------------------------------------------------------
/Runtime/data/GeoIP2-Country.mmdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/Runtime/data/GeoIP2-Country.mmdb
--------------------------------------------------------------------------------
/docs/_sass/class/content-wrap.scss:
--------------------------------------------------------------------------------
1 | .content-wrap {
2 | font-size: $h4-size;
3 | background: $theme-white;
4 | }
5 |
--------------------------------------------------------------------------------
/docs/assets/images/framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/framework.png
--------------------------------------------------------------------------------
/docs/_includes/reset/tabs.liquid:
--------------------------------------------------------------------------------
1 | {%- assign tab = " " -%}
2 | {%- for temp in (1..include.size) %}{{ tab }}{% endfor -%}
3 |
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-bold.woff
--------------------------------------------------------------------------------
/docs/assets/images/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/favicon-16x16.png
--------------------------------------------------------------------------------
/docs/assets/images/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/favicon-32x32.png
--------------------------------------------------------------------------------
/docs/assets/images/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/favicon-96x96.png
--------------------------------------------------------------------------------
/CodeBroker/config/GeoIP2-Country.mmdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/CodeBroker/config/GeoIP2-Country.mmdb
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/script/Demo1.py:
--------------------------------------------------------------------------------
1 |
2 | class Demo:
3 | def __init__(self):
4 | print "init Demo1"
5 |
6 |
--------------------------------------------------------------------------------
/GameServer/src/main/resource/build_mybatis.txt:
--------------------------------------------------------------------------------
1 | java -jar mybatis-generator-core-1.4.0.jar -configfile generatorConfig.xml -overwrite
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-bold.woff2
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-normal.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-normal.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-normal.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-normal.woff2
--------------------------------------------------------------------------------
/docs/assets/images/actor_framework.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/actor_framework.png
--------------------------------------------------------------------------------
/docs/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org" # gems.ruby-china.com
2 |
3 | gemspec
4 |
5 | gem "github-pages", group: :jekyll_plugins
6 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/breadcrumb/index.scss:
--------------------------------------------------------------------------------
1 | // support files
2 | @import "../support/index.scss";
3 | @import "./breadcrumb.scss";
4 |
--------------------------------------------------------------------------------
/docs/assets/css/fonts/Roboto-Slab-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/Roboto-Slab-Bold.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/Roboto-Slab-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/Roboto-Slab-Bold.woff2
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-bold-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-bold-italic.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-bold-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-bold-italic.woff2
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/proto/protoc.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/CodeBroker/src/main/resource/proto/protoc.exe
--------------------------------------------------------------------------------
/docs/assets/css/fonts/Roboto-Slab-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/Roboto-Slab-Regular.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/docs/assets/css/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/docs/assets/css/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-normal-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-normal-italic.woff
--------------------------------------------------------------------------------
/docs/assets/css/fonts/lato-normal-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/lato-normal-italic.woff2
--------------------------------------------------------------------------------
/docs/assets/css/fonts/Roboto-Slab-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/Roboto-Slab-Regular.woff2
--------------------------------------------------------------------------------
/docs/assets/css/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/css/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/docs/assets/images/apple-touch-icon-300x300.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zerosoft/CodeBroker/HEAD/docs/assets/images/apple-touch-icon-300x300.jpg
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/net/TransportType.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.net;
2 |
3 | public enum TransportType {
4 | JSON, PROTOBUFF, UNKNOW;
5 | }
6 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/util/security/PermissionProfile.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.util.security;
2 |
3 | public class PermissionProfile {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/CodeBroker/src/test/java/com/codebroker/demo/client/CmdId.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.demo.client;
2 |
3 | public interface CmdId {
4 | //登入
5 | int Login=1;
6 | }
7 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/buttons/index.scss:
--------------------------------------------------------------------------------
1 | @import "../support/index.scss";
2 | @import "./button.scss";
3 | @import "./button-group.scss";
4 | @import "./misc.scss";
5 |
--------------------------------------------------------------------------------
/docs/assets/pages.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: tasks/compress
3 | permalink: /pages.json
4 | ---
5 |
6 | {%- include reset/site_pages.liquid -%} {{- site_pages | jsonify -}}
7 |
--------------------------------------------------------------------------------
/WebAPITest/src/main/java/com/codebroker/web/api/controller/BenchmarksController.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.web.api.controller;
2 |
3 | public class BenchmarksController {
4 | }
5 |
--------------------------------------------------------------------------------
/docs/_includes/reset/description.liquid:
--------------------------------------------------------------------------------
1 | {%- assign description = content
2 | | strip_html
3 | | split: " "
4 | | join: " "
5 | | escape
6 | | truncate: 150 -%}
7 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/exception/NoAuthException.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.exception;
2 |
3 | public class NoAuthException extends CodeBrokerException {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/docs/assets/robots.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: null
3 | permalink: /robots.txt
4 | ---
5 |
6 | User-agent: *
7 | Allow: /
8 |
9 | Sitemap: {{ "sitemap.xml" | absolute_url }}
10 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/exception/NoServerException.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.exception;
2 |
3 | public class NoServerException extends CodeBrokerException {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/docs/assets/sw.caches.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: tasks/compress
3 | permalink: /sw.caches.js
4 | ---
5 |
6 | {%- include reset/version.liquid -%}
7 |
8 | {%- include assets/sw.caches.js -%}
9 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/api/internal/IDGenerator.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.api.internal;
2 |
3 | public interface IDGenerator {
4 |
5 | T generateID();
6 | }
7 |
--------------------------------------------------------------------------------
/docs/_includes/shortcodes/mermaid.liquid:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/base/index.scss:
--------------------------------------------------------------------------------
1 | @import "../support/index.scss";
2 |
3 | @import "./normalize.scss";
4 | @import "./base.scss";
5 | @import "./kbd.scss";
6 | @import "./typography-base.scss";
7 |
--------------------------------------------------------------------------------
/docs/assets/404.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | permalink: /404.html
4 | ---
5 |
6 | {%- include reset/i18n.liquid -%}
7 |
8 | 404
9 | {{ __.not_found | default: "Not Found"}}
10 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/core/ReloadMode.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.core;
2 |
3 | /**
4 | * 重新加载模式
5 | */
6 | public enum ReloadMode {
7 | AUTO,//发生更改自动加载
8 | MANUAL, //手动刷新
9 | NONE;//不加载
10 | }
11 |
--------------------------------------------------------------------------------
/docs/_sass/class/header.scss:
--------------------------------------------------------------------------------
1 | .header {
2 | color: $theme-white;
3 | background: $theme-blue;
4 |
5 | input {
6 | border-radius: 50px;
7 | border: 1px solid #2472a4;
8 | font-size: 80%;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/api/event/IEventHandler.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.api.event;
2 |
3 | /**
4 | * 提供Actor调用的事件接口
5 | */
6 | public interface IEventHandler {
7 |
8 | void handlerEvent(IEvent event);
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/util/JarFileMonitor.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.util;
2 |
3 | import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
4 |
5 | public class JarFileMonitor extends FileAlterationListenerAdaptor {
6 | }
7 |
--------------------------------------------------------------------------------
/boot/src/main/java/com/codebroker/launcher/IClassLoader.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.launcher;
2 |
3 | public interface IClassLoader {
4 | ClassLoader loadClasses(String[] paramArrayOfString, ClassLoader paramClassLoader) throws BootException;
5 | }
6 |
--------------------------------------------------------------------------------
/docs/_sass/class/container.scss:
--------------------------------------------------------------------------------
1 | .container {
2 | font-weight: 400;
3 | color: $theme-black;
4 | background: $theme-white;
5 | }
6 |
7 | @include breakpoint(xl) {
8 | .container {
9 | background: $theme-mask-black;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/docs/_sass/class/title.scss:
--------------------------------------------------------------------------------
1 | .title {
2 | // 600
3 | font-weight: $font-weight-bold;
4 | color: $theme-white;
5 |
6 | a {
7 | color: $theme-white;
8 | &:hover {
9 | background: $theme-mask-white;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/WebAPITest/src/main/java/com/codebroker/web/api/service/NettyClientService.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.web.api.service;
2 |
3 | import org.springframework.stereotype.Component;
4 |
5 | @Component
6 | public class NettyClientService {
7 |
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/boot/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/docs/_sass/_reset.scss:
--------------------------------------------------------------------------------
1 | .fa {
2 | display: inline-block;
3 | font: normal normal normal 14px/1 "FontAwesome";
4 | }
5 |
6 | .breadcrumb-item {
7 | margin: 0;
8 |
9 | &::after {
10 | padding-right: 3px;
11 | padding-left: 3px;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/docs/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: ""
5 | labels: ""
6 | assignees: ""
7 | ---
8 |
9 | **Describe the BUG**
10 |
11 | **To Reproduce**
12 |
13 | **Site link or repository**
14 |
--------------------------------------------------------------------------------
/docs/_includes/reset/content.liquid:
--------------------------------------------------------------------------------
1 | {%- assign content = content
2 | | replace: "’", "'"
3 | | replace: "“", '"'
4 | | replace: "”", '"'
5 | | replace: "
13 |
14 |
15 | {%- if custom_script.size > 0 -%}
16 |
17 | {%- endif -%}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/CodeBroker/config/app4.properties:
--------------------------------------------------------------------------------
1 | com.code.broker.app.id=5
2 | com.code.broker.app.name=\u7B80\u5355\u670D\u52A1\u5668
3 | com.code.broker.app.listener=com.codebroker.demo.GameServerExtension
4 | com.code.broker.app.jar.path=E:\\github\\CodeBroker\\GameServer\\build\\libs
5 | com.code.broker.app.jar.reload=AUTO
6 | com.code.broker.app.jar.reload.second=10
7 |
8 | com.code.broker.akka.config.name=application1.conf
9 | com.code.broker.akka.name=CodeBroker
10 |
11 | #���������ͣ��������ģ���Ⱥ����
12 | com.code.broker.artery.hostname = 127.0.0.1
13 | com.code.broker.artery.port = 2555
14 |
15 | com.code.broker.http.hostname = 127.0.0.1
16 | com.code.broker.http.port = 9555
17 |
18 | com.code.broker.cluster.type=game
19 | com.code.broker.cluster.center=north
20 | com.code.broker.cluster.shards=100
21 | #zookeeper ע������
22 | com.code.broker.zookeeper.host=127.0.0.1
23 | com.code.broker.zookeeper.port=2181
24 |
25 |
26 |
27 | com.code.broker.netty.tcp.port=22338
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/docs/_includes/reset/workdir.liquid:
--------------------------------------------------------------------------------
1 | {%- assign workdir = include.workdir | default: "/" -%}
2 |
3 | {%- assign workdir_level = workdir | append: "temp" | replace_first: "/", "" | split: "/" | size -%}
4 | {%- assign workdir_files = site_files | where_exp: "item", "item.dir == workdir" -%}
5 |
6 | {%- capture items -%}
7 | {%- for item in site_dirs -%}
8 | {%- assign current_m1 = item.dir | append: "temp" | replace_first: "/", "" | split: "/" | size | minus: 1 -%}
9 | {%- if workdir_level == current_m1 -%}
10 | {%- assign temp = workdir | append: "@@" -%}
11 | {%- assign dir = item.dir | replace: workdir, temp | split: "@@" | first -%}
12 | {% comment %} In the current subdirectory {% endcomment %}
13 | {%- if workdir == dir -%}
14 | {{ item.dir }}|
15 | {%- endif -%}
16 | {%- endif -%}
17 | {%- endfor -%}
18 | {%- endcapture -%}
19 | {%- assign workdir_dirs = items | split: "|" -%}
20 |
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/demo/service/user/UserService.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.demo.service.user;
2 |
3 | import com.codebroker.demo.service.user.handler.UserInit;
4 | import com.codebroker.demo.service.user.handler.UserLogin;
5 | import com.codebroker.demo.service.user.handler.UserLogout;
6 | import com.codebroker.extensions.service.AbstractIService;
7 | import org.slf4j.Logger;
8 | import org.slf4j.LoggerFactory;
9 |
10 | public class UserService extends AbstractIService {
11 | private Logger logger= LoggerFactory.getLogger(UserService.class);
12 | @Override
13 | public void init(Object o) {
14 | logger.info("init UserService Service "+o);
15 | addRequestHandler(1,new UserInit());
16 | addRequestHandler(2,new UserLogin());
17 | addRequestHandler(3,new UserLogout());
18 | }
19 |
20 | @Override
21 | public void destroy(Object o) {
22 |
23 | }
24 |
25 | @Override
26 | public String getName() {
27 | return UserService.class.getName();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/certs/server1.key:
--------------------------------------------------------------------------------
1 | -----BEGIN PRIVATE KEY-----
2 | MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAOHDFScoLCVJpYDD
3 | M4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1BgzkWF+slf
4 | 3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd9N8YwbBY
5 | AckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAECgYAn7qGnM2vbjJNBm0VZCkOkTIWm
6 | V10okw7EPJrdL2mkre9NasghNXbE1y5zDshx5Nt3KsazKOxTT8d0Jwh/3KbaN+YY
7 | tTCbKGW0pXDRBhwUHRcuRzScjli8Rih5UOCiZkhefUTcRb6xIhZJuQy71tjaSy0p
8 | dHZRmYyBYO2YEQ8xoQJBAPrJPhMBkzmEYFtyIEqAxQ/o/A6E+E4w8i+KM7nQCK7q
9 | K4JXzyXVAjLfyBZWHGM2uro/fjqPggGD6QH1qXCkI4MCQQDmdKeb2TrKRh5BY1LR
10 | 81aJGKcJ2XbcDu6wMZK4oqWbTX2KiYn9GB0woM6nSr/Y6iy1u145YzYxEV/iMwff
11 | DJULAkB8B2MnyzOg0pNFJqBJuH29bKCcHa8gHJzqXhNO5lAlEbMK95p/P2Wi+4Hd
12 | aiEIAF1BF326QJcvYKmwSmrORp85AkAlSNxRJ50OWrfMZnBgzVjDx3xG6KsFQVk2
13 | ol6VhqL6dFgKUORFUWBvnKSyhjJxurlPEahV6oo6+A+mPhFY8eUvAkAZQyTdupP3
14 | XEFQKctGz+9+gKkemDp7LBBMEMBXrGTLPhpEfcjv/7KPdnFHYmhYeBTBnuVmTVWe
15 | F98XJ7tIFfJq
16 | -----END PRIVATE KEY-----
17 |
--------------------------------------------------------------------------------
/docs/_includes/node/script.schema.liquid:
--------------------------------------------------------------------------------
1 |
28 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/markdown/tables.scss:
--------------------------------------------------------------------------------
1 | // Needs refactoring
2 | // stylelint-disable selector-max-type
3 | .markdown-body {
4 | // Tables
5 | table {
6 | display: block;
7 | width: 100%; // keep for backwards compatibility
8 | width: max-content;
9 | max-width: 100%;
10 | overflow: auto;
11 |
12 | th {
13 | font-weight: $font-weight-bold;
14 | }
15 |
16 | th,
17 | td {
18 | // stylelint-disable-next-line primer/spacing
19 | padding: 6px 13px;
20 | // stylelint-disable-next-line primer/borders
21 | border: $border-width $border-style lighten($gray-300, 5%);
22 | }
23 |
24 | tr {
25 | background-color: $bg-white;
26 | // stylelint-disable-next-line primer/borders
27 | border-top: $border-width $border-style darken($gray-300, 4%);
28 |
29 | &:nth-child(2n) {
30 | background-color: $bg-gray;
31 | }
32 | }
33 |
34 | img {
35 | background-color: transparent;
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/docs/_sass/theme.scss:
--------------------------------------------------------------------------------
1 | // core
2 | @import "lib/material-design-lite/variables";
3 | @import "lib/material-design-lite/mixins";
4 | @import "lib/@primer/css/support";
5 | @import "variables";
6 | @import "root";
7 |
8 | @import "lib/@primer/css/base";
9 | @import "lib/@primer/css/breadcrumb";
10 | @import "lib/@primer/css/buttons";
11 | @import "lib/@primer/css/forms";
12 | @import "lib/@primer/css/loaders";
13 | @import "lib/@primer/css/markdown";
14 | @import "lib/rouge/github";
15 |
16 | // fonts
17 | @import "font-face";
18 | @import "lib/font-awesome/variables";
19 | @import "lib/font-awesome/icons";
20 |
21 | // theme
22 | @import "layout";
23 | @import "reset";
24 | @import "class/container";
25 | @import "class/sidebar-wrap";
26 | @import "class/addons-wrap";
27 | @import "class/content-wrap";
28 | @import "class/header";
29 | @import "class/title";
30 | @import "class/markdown-body";
31 | @import "class/toasts";
32 |
33 | // improved
34 | @import "direction";
35 |
36 | // utilities
37 | @import "lib/@primer/css/utilities";
38 |
--------------------------------------------------------------------------------
/CodeBroker/config/app3.properties:
--------------------------------------------------------------------------------
1 | com.code.broker.app.id=4
2 | com.code.broker.app.name=\u7B80\u5355\u670D\u52A1\u5668
3 | com.code.broker.app.listener=com.codebroker.demo.AccountExtension
4 | com.code.broker.app.jar.path=E:\\github\\CodeBroker\\AccountServer\\build\\libs\\
5 | com.code.broker.app.jar.reload=AUTO
6 | com.code.broker.app.jar.reload.second=10
7 |
8 | com.code.broker.akka.config.name=application2.conf
9 | com.code.broker.akka.name=CodeBroker
10 |
11 | #���������ͣ��������ģ���Ⱥ����
12 | com.code.broker.artery.hostname = 127.0.0.1
13 | com.code.broker.artery.port = 2554
14 |
15 | com.code.broker.http.hostname = 127.0.0.1
16 | com.code.broker.http.port = 9554
17 |
18 | com.code.broker.cluster.type=account
19 | com.code.broker.cluster.center=west
20 | com.code.broker.cluster.shards=100
21 | #zookeeper ע������
22 | com.code.broker.zookeeper.host=127.0.0.1
23 | com.code.broker.zookeeper.port=2181
24 |
25 | com.code.broker.netty.tcp.port=22337
26 |
27 | com.code.broker.redis.url=127.0.0.1
28 | com.code.broker.redis.port=6379
29 |
30 |
--------------------------------------------------------------------------------
/CodeBroker/config/app2.properties:
--------------------------------------------------------------------------------
1 | com.code.broker.app.id=3
2 | com.code.broker.app.name=\u7B80\u5355\u670D\u52A1\u5668
3 | com.code.broker.app.listener=com.codebroker.demo.AccountExtension
4 | com.code.broker.app.jar.path=E:\\github\\CodeBroker\\AccountServer\\build\\libs\\
5 | com.code.broker.app.jar.reload=AUTO
6 | com.code.broker.app.jar.reload.second=10
7 |
8 | com.code.broker.akka.config.name=application2.conf
9 | com.code.broker.akka.name=CodeBroker
10 |
11 | #���������ͣ��������ģ���Ⱥ����
12 | com.code.broker.artery.hostname = 127.0.0.1
13 | com.code.broker.artery.port = 2553
14 |
15 | com.code.broker.http.hostname = 127.0.0.1
16 | com.code.broker.http.port = 9553
17 |
18 | com.code.broker.cluster.type=account
19 | com.code.broker.cluster.center=west
20 | com.code.broker.cluster.shards=100
21 | #zookeeper ע������
22 | com.code.broker.zookeeper.host=127.0.0.1
23 | com.code.broker.zookeeper.port=2181
24 |
25 | com.code.broker.netty.tcp.port=22336
26 |
27 | com.code.broker.redis.url=127.0.0.1
28 | com.code.broker.redis.port=6379
29 |
30 |
31 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/impl/MapStructureImpl.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.impl;
2 |
3 | import com.codebroker.redis.collections.MapStructure;
4 | import com.codebroker.redis.collections.builder.AbstractExpirable;
5 | import com.codebroker.redis.collections.builder.RedisMap;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import redis.clients.jedis.Jedis;
8 |
9 | import java.util.Map;
10 |
11 | public class MapStructureImpl extends AbstractExpirable implements MapStructure {
12 |
13 | public MapStructureImpl(Jedis jedis, String nameSpace, Class clazz) {
14 | super(jedis, clazz, nameSpace);
15 | }
16 |
17 | @Override
18 | public Map get(String key) {
19 | return new RedisMap(jedis, clazz, RedisUtils.createKeyWithNameSpace(key, nameSpace));
20 | }
21 |
22 | @Override
23 | public void delete(String key) {
24 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/impl/SetStructureImpl.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.impl;
2 |
3 | import com.codebroker.redis.collections.SetStructure;
4 | import com.codebroker.redis.collections.builder.AbstractExpirable;
5 | import com.codebroker.redis.collections.builder.RedisSet;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import redis.clients.jedis.Jedis;
8 |
9 | import java.util.Set;
10 |
11 | public class SetStructureImpl extends AbstractExpirable implements SetStructure {
12 |
13 | public SetStructureImpl(Jedis jedis, Class clazz, String nameSpace) {
14 | super(jedis, clazz, nameSpace);
15 | }
16 |
17 | @Override
18 | public Set createSet(String key) {
19 | return new RedisSet<>(jedis, clazz, RedisUtils.createKeyWithNameSpace(key, nameSpace));
20 | }
21 |
22 | @Override
23 | public void delete(String key) {
24 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/mybatis/global/model/UserAcccount.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.mybatis.global.model;
2 |
3 | /**
4 | * Table: user_acccount
5 | */
6 | public class UserAcccount {
7 | /**
8 | * Column: sid
9 | */
10 | private Long sid;
11 |
12 | /**
13 | * Column: account
14 | */
15 | private String account;
16 |
17 | /**
18 | * Column: password
19 | */
20 | private String password;
21 |
22 | public Long getSid() {
23 | return sid;
24 | }
25 |
26 | public void setSid(Long sid) {
27 | this.sid = sid;
28 | }
29 |
30 | public String getAccount() {
31 | return account;
32 | }
33 |
34 | public void setAccount(String account) {
35 | this.account = account == null ? null : account.trim();
36 | }
37 |
38 | public String getPassword() {
39 | return password;
40 | }
41 |
42 | public void setPassword(String password) {
43 | this.password = password == null ? null : password.trim();
44 | }
45 | }
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/certs/server1.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICnDCCAgWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJBVTET
3 | MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQ
4 | dHkgTHRkMQ8wDQYDVQQDEwZ0ZXN0Y2EwHhcNMTUxMTA0MDIyMDI0WhcNMjUxMTAx
5 | MDIyMDI0WjBlMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNV
6 | BAcTB0NoaWNhZ28xFTATBgNVBAoTDEV4YW1wbGUsIENvLjEaMBgGA1UEAxQRKi50
7 | ZXN0Lmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOHDFSco
8 | LCVJpYDDM4HYtIdV6Ake/sMNaaKdODjDMsux/4tDydlumN+fm+AjPEK5GHhGn1Bg
9 | zkWF+slf3BxhrA/8dNsnunstVA7ZBgA/5qQxMfGAq4wHNVX77fBZOgp9VlSMVfyd
10 | 9N8YwbBYAckOeUQadTi2X1S6OgJXgQ0m3MWhAgMBAAGjazBpMAkGA1UdEwQCMAAw
11 | CwYDVR0PBAQDAgXgME8GA1UdEQRIMEaCECoudGVzdC5nb29nbGUuZnKCGHdhdGVy
12 | em9vaS50ZXN0Lmdvb2dsZS5iZYISKi50ZXN0LnlvdXR1YmUuY29thwTAqAEDMA0G
13 | CSqGSIb3DQEBCwUAA4GBAJFXVifQNub1LUP4JlnX5lXNlo8FxZ2a12AFQs+bzoJ6
14 | hM044EDjqyxUqSbVePK0ni3w1fHQB5rY9yYC5f8G7aqqTY1QOhoUk8ZTSTRpnkTh
15 | y4jjdvTZeLDVBlueZUTDRmy2feY5aZIU18vFDK08dTG0A87pppuv1LNIR3loveU8
16 | -----END CERTIFICATE-----
17 |
--------------------------------------------------------------------------------
/docs/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require("path");
2 | const MiniCssExtractPlugin = require("mini-css-extract-plugin");
3 |
4 | module.exports = {
5 | entry: {
6 | theme: ["./assets/js/theme.js", "./_sass/theme.scss"],
7 | },
8 | output: {
9 | filename: "js/[name].min.js",
10 | path: path.resolve(__dirname, "assets"),
11 | },
12 | module: {
13 | rules: [
14 | {
15 | test: /\.scss$/,
16 | use: [
17 | MiniCssExtractPlugin.loader,
18 | {
19 | loader: "css-loader",
20 | options: {
21 | url: false,
22 | },
23 | },
24 | "sass-loader",
25 | ],
26 | },
27 | {
28 | test: /\.js$/,
29 | use: {
30 | loader: "babel-loader",
31 | options: {
32 | presets: ["@babel/preset-env"],
33 | },
34 | },
35 | },
36 | ],
37 | },
38 | plugins: [
39 | new MiniCssExtractPlugin({
40 | filename: "css/[name].min.css",
41 | }),
42 | ],
43 | };
44 |
--------------------------------------------------------------------------------
/AccountServer/src/main/java/com/codebroker/demo/service/account/manager/AccountDBManager.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.demo.service.account.manager;
2 |
3 | import com.codebroker.demo.service.account.model.Account;
4 | import com.google.common.collect.Maps;
5 | import com.google.common.util.concurrent.AbstractService;
6 | import org.slf4j.Logger;
7 | import org.slf4j.LoggerFactory;
8 |
9 | import java.util.Map;
10 |
11 | public class AccountDBManager extends AbstractService {
12 |
13 | private Logger logger= LoggerFactory.getLogger(AccountDBManager.class);
14 |
15 | Map accountMap= Maps.newConcurrentMap();
16 |
17 | private static AccountDBManager instance;
18 |
19 | public static AccountDBManager getInstance() {
20 | return instance;
21 | }
22 |
23 | @Override
24 | protected void doStart() {
25 | logger.info("Start AccountManager");
26 |
27 | AccountDBManager.instance=this;
28 | }
29 |
30 | @Override
31 | protected void doStop() {
32 | logger.info("Stop AccountManager");
33 | AccountDBManager.instance=null;
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/impl/ListStructureImpl.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.impl;
2 |
3 | import com.codebroker.redis.collections.ListStructure;
4 | import com.codebroker.redis.collections.builder.AbstractExpirable;
5 | import com.codebroker.redis.collections.builder.RedisList;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import redis.clients.jedis.Jedis;
8 |
9 | import java.util.List;
10 |
11 | public class ListStructureImpl extends AbstractExpirable implements ListStructure {
12 |
13 | public ListStructureImpl(Jedis jedis, Class clazz, String nameSpace) {
14 | super(jedis, clazz, nameSpace);
15 | }
16 |
17 | @Override
18 | public List get(String key) {
19 | return new RedisList<>(jedis, clazz, RedisUtils.createKeyWithNameSpace(key, nameSpace));
20 | }
21 |
22 | @Override
23 | public void delete(String key) {
24 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
25 |
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/docs/_sass/class/toasts.scss:
--------------------------------------------------------------------------------
1 | .toasts {
2 | // fixed note
3 | font-size: $h4-size;
4 | // mdl
5 | @include shadow-2dp();
6 |
7 | .title {
8 | box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.14);
9 | }
10 |
11 | // fixed
12 | .content {
13 | :first-child {
14 | margin-top: 0;
15 | }
16 |
17 | :last-child {
18 | margin-bottom: 0;
19 | }
20 | }
21 |
22 | &.note {
23 | background-color: lighten($theme-blue, 50%);
24 |
25 | .title {
26 | background: lighten($theme-blue, 20%);
27 | }
28 | }
29 |
30 | &.tip {
31 | background-color: lighten($theme-green, 50%);
32 |
33 | .title {
34 | background: lighten($theme-green, 0%);
35 | }
36 | }
37 |
38 | &.warning {
39 | background-color: lighten($theme-orange, 40%);
40 |
41 | .title {
42 | background: lighten($theme-orange, 20%);
43 | }
44 | }
45 |
46 | &.danger {
47 | background-color: lighten($theme-red, 40%);
48 |
49 | .title {
50 | background: lighten($theme-red, 20%);
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/resource/global_server.sql:
--------------------------------------------------------------------------------
1 | /*
2 | Navicat Premium Data Transfer
3 |
4 | Source Server : loalhost
5 | Source Server Type : MySQL
6 | Source Server Version : 50731
7 | Source Host : localhost:3306
8 | Source Schema : global_server
9 |
10 | Target Server Type : MySQL
11 | Target Server Version : 50731
12 | File Encoding : 65001
13 |
14 | Date: 27/11/2020 18:44:34
15 | */
16 |
17 | SET NAMES utf8mb4;
18 | SET FOREIGN_KEY_CHECKS = 0;
19 |
20 | -- ----------------------------
21 | -- Table structure for user_acccount
22 | -- ----------------------------
23 | DROP TABLE IF EXISTS `user_acccount`;
24 | CREATE TABLE `user_acccount` (
25 | `sid` bigint(20) NOT NULL,
26 | `account` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
27 | `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
28 | PRIMARY KEY (`sid`) USING BTREE
29 | ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
30 |
31 | SET FOREIGN_KEY_CHECKS = 1;
32 |
--------------------------------------------------------------------------------
/docs/_includes/class/sidebar-wrap.liquid:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/net/netty/NettyServerInitializer.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.net.netty;
2 |
3 | import com.codebroker.net.netty.filter.ByteArrayPacketCodecDecoder;
4 | import com.codebroker.net.netty.filter.ByteArrayPacketCodecEncoder;
5 | import io.netty.channel.ChannelInitializer;
6 | import io.netty.channel.ChannelPipeline;
7 | import io.netty.channel.socket.SocketChannel;
8 | import io.netty.handler.timeout.IdleStateHandler;
9 |
10 | import java.util.concurrent.TimeUnit;
11 |
12 | public class NettyServerInitializer extends ChannelInitializer {
13 |
14 | @Override
15 | protected void initChannel(SocketChannel ch) throws Exception {
16 | ChannelPipeline pipeline = ch.pipeline();
17 | pipeline.addLast("Time-check", new IdleStateHandler(40, 50, 60, TimeUnit.SECONDS));
18 | pipeline.addLast("MessageHead-decoder", new ByteArrayPacketCodecDecoder());
19 | pipeline.addLast("MessageHead-encoder", new ByteArrayPacketCodecEncoder());
20 | pipeline.addLast("handler", new NettyHandler());
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/util/zookeeper/ZookeeperClient.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.util.zookeeper;
2 |
3 | import java.util.List;
4 | import java.util.concurrent.Executor;
5 |
6 | public interface ZookeeperClient {
7 |
8 | void create(String path, boolean ephemeral);
9 |
10 | void delete(String path);
11 |
12 | List getChildren(String path);
13 |
14 | List addChildListener(String path, ChildListener listener);
15 |
16 | void addDataListener(String path, DataListener listener);
17 |
18 | void addDataListener(String path, DataListener listener, Executor executor);
19 |
20 | void removeDataListener(String path, DataListener listener);
21 |
22 | void removeChildListener(String path, ChildListener listener);
23 |
24 | void addStateListener(StateListener listener);
25 |
26 | void removeStateListener(StateListener listener);
27 |
28 | boolean isConnected();
29 |
30 | void close();
31 |
32 | ZookeeperURL getZookeeperUrl();
33 |
34 | void create(String path, String content, boolean ephemeral);
35 |
36 | String getContent(String path);
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/docs/_includes/class/_toctree.liquid:
--------------------------------------------------------------------------------
1 | {%- include reset/workdir.liquid %}
2 |
3 | {% comment %} list the root files {% endcomment %}
4 |
21 |
22 | {% comment %} list the root dirs {% endcomment %}
23 | {%- for workdir in workdir_dirs %}{% include extend/toctree.liquid %}{% endfor -%}
24 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/ranking/RankingStructureLong.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.ranking;
2 |
3 | import com.codebroker.redis.collections.RankingStructure;
4 | import com.codebroker.redis.collections.ScoresPoint;
5 | import com.codebroker.redis.collections.builder.AbstractExpirable;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import com.codebroker.redis.collections.builder.score.ScorePointLong;
8 | import redis.clients.jedis.Jedis;
9 |
10 | public class RankingStructureLong extends AbstractExpirable implements RankingStructure {
11 |
12 | public RankingStructureLong(Jedis jedis, String nameSpace) {
13 | super(jedis, Long.class, nameSpace);
14 | }
15 |
16 | @Override
17 | public ScoresPoint create(String key) {
18 | return new ScorePointLong(jedis, RedisUtils.createKeyWithNameSpace(key, nameSpace));
19 | }
20 |
21 | @Override
22 | public void delete(String key) {
23 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/api/IHandlerFactory.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.api;
2 |
3 | import java.util.Optional;
4 |
5 | /**
6 | * 请求的Handler接口.
7 | *
8 | * @author LongJu
9 | */
10 | public interface IHandlerFactory {
11 | /**
12 | * 添加请求的handler 类文件
13 | *
14 | * @param handlerKey
15 | * @param class1
16 | */
17 | void addHandler(T handlerKey, Class class1);
18 |
19 | /**
20 | * 添加请求的handler 实例
21 | *
22 | * @param handlerKey
23 | * @param obj
24 | */
25 | void addHandler(T handlerKey, C obj);
26 |
27 | /**
28 | * 移除handler
29 | *
30 | * @param handlerKey
31 | */
32 | void removeHandler(T handlerKey);
33 |
34 | /**
35 | * 查找handler
36 | *
37 | * @param handlerKey
38 | * @return
39 | * @throws InstantiationException
40 | * @throws IllegalAccessException
41 | */
42 | Optional findHandler(T handlerKey) throws InstantiationException, IllegalAccessException;
43 |
44 | /**
45 | * 清除所有的handler
46 | */
47 | void clearAll();
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/mybatis/gameserver1/mapper/GameItemMapper.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.mybatis.gameserver1.mapper;
2 |
3 | import com.codebroker.mybatis.gameserver1.model.GameItem;
4 | import com.codebroker.mybatis.gameserver1.model.GameItemExample;
5 | import java.util.List;
6 | import org.apache.ibatis.annotations.Param;
7 |
8 | public interface GameItemMapper {
9 | long countByExample(GameItemExample example);
10 |
11 | int deleteByExample(GameItemExample example);
12 |
13 | int deleteByPrimaryKey(Long sid);
14 |
15 | int insert(GameItem record);
16 |
17 | int insertSelective(GameItem record);
18 |
19 | List selectByExample(GameItemExample example);
20 |
21 | GameItem selectByPrimaryKey(Long sid);
22 |
23 | int updateByExampleSelective(@Param("record") GameItem record, @Param("example") GameItemExample example);
24 |
25 | int updateByExample(@Param("record") GameItem record, @Param("example") GameItemExample example);
26 |
27 | int updateByPrimaryKeySelective(GameItem record);
28 |
29 | int updateByPrimaryKey(GameItem record);
30 | }
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/mybatis/gameserver1/mapper/GameUserMapper.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.mybatis.gameserver1.mapper;
2 |
3 | import com.codebroker.mybatis.gameserver1.model.GameUser;
4 | import com.codebroker.mybatis.gameserver1.model.GameUserExample;
5 | import java.util.List;
6 | import org.apache.ibatis.annotations.Param;
7 |
8 | public interface GameUserMapper {
9 | long countByExample(GameUserExample example);
10 |
11 | int deleteByExample(GameUserExample example);
12 |
13 | int deleteByPrimaryKey(Long uid);
14 |
15 | int insert(GameUser record);
16 |
17 | int insertSelective(GameUser record);
18 |
19 | List selectByExample(GameUserExample example);
20 |
21 | GameUser selectByPrimaryKey(Long uid);
22 |
23 | int updateByExampleSelective(@Param("record") GameUser record, @Param("example") GameUserExample example);
24 |
25 | int updateByExample(@Param("record") GameUser record, @Param("example") GameUserExample example);
26 |
27 | int updateByPrimaryKeySelective(GameUser record);
28 |
29 | int updateByPrimaryKey(GameUser record);
30 | }
--------------------------------------------------------------------------------
/WebAPITest/src/main/java/com/codebroker/web/api/service/netty/SingleRegisty.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.web.api.service.netty;
2 |
3 | import com.codebroker.web.api.service.api.IRegisty;
4 | import io.netty.channel.ChannelHandlerContext;
5 | import org.slf4j.Logger;
6 | import org.slf4j.LoggerFactory;
7 |
8 | public class SingleRegisty implements IRegisty {
9 | Logger logger= LoggerFactory.getLogger(SingleRegisty.class.getSimpleName());
10 |
11 | @Override
12 | public void joining(ChannelHandlerContext ioSession) {
13 | logger.info("session join {}",ioSession);
14 | }
15 |
16 | @Override
17 | public void exception(ChannelHandlerContext ioSession, Throwable cause) {
18 | logger.info("session exception {}",cause);
19 | }
20 |
21 | @Override
22 | public void loseConnection(ChannelHandlerContext ioSession) {
23 | logger.info("session lose connection {} ",ioSession);
24 | }
25 |
26 | @Override
27 | public void receiveMessage(ChannelHandlerContext ioSession, Object msg) {
28 | logger.info("session receive message {}",msg);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/demo/service/alliance/AllianceService.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.demo.service.alliance;
2 |
3 | import com.codebroker.demo.service.alliance.handler.*;
4 | import com.codebroker.extensions.service.AbstractIService;
5 | import org.slf4j.Logger;
6 | import org.slf4j.LoggerFactory;
7 | public class AllianceService extends AbstractIService {
8 |
9 | private Logger logger= LoggerFactory.getLogger(AllianceService.class);
10 |
11 | @Override
12 | public void init(Object obj) {
13 | logger.info("init Alliance "+obj);
14 | addRequestHandler(1,new UserInit());
15 | addRequestHandler(2,new UserLogin());
16 | addRequestHandler(3,new UserLogout());
17 | addRequestHandler(4,new GetMessage());
18 | addRequestHandler(5,new DoSomeLogicMessage());
19 | }
20 |
21 | @Override
22 | public void destroy(Object obj) {
23 | logger.info("destroy Alliance "+obj);
24 | }
25 |
26 |
27 | @Override
28 | public String getName() {
29 | return AllianceService.class.getName();
30 | }
31 |
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/GameServer/src/main/java/com/codebroker/demo/service/item/ItemService.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.demo.service.item;
2 |
3 | import com.codebroker.demo.service.item.handler.UserInit;
4 | import com.codebroker.demo.service.item.handler.UserLogin;
5 | import com.codebroker.demo.service.item.handler.UserLogout;
6 | import com.codebroker.extensions.service.AbstractIService;
7 | import org.slf4j.Logger;
8 | import org.slf4j.LoggerFactory;
9 |
10 | public class ItemService extends AbstractIService {
11 |
12 | private Logger logger= LoggerFactory.getLogger(ItemService.class);
13 |
14 | @Override
15 | public void init(Object obj) {
16 | logger.info("init Item Service "+obj);
17 | addRequestHandler(1,new UserInit());
18 | addRequestHandler(2,new UserLogin());
19 | addRequestHandler(3,new UserLogout());
20 | }
21 |
22 | @Override
23 | public void destroy(Object obj) {
24 | logger.info("destroy Item Service "+obj);
25 | }
26 |
27 |
28 | @Override
29 | public String getName() {
30 | return ItemService.class.getName();
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/docs/_sass/_variables.scss:
--------------------------------------------------------------------------------
1 | // fonts
2 | $body-font: "Lato", BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif;
3 | $mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
4 | $head-font: "Roboto-Slab", sans-serif;
5 |
6 | // theme color
7 | $theme-blue: #2980b9;
8 | $theme-red: #e74c3c;
9 | $theme-green: #1abc9c;
10 | $theme-orange: #e67e22;
11 |
12 | $theme-white: lighten($black, 99%);
13 | $theme-black: lighten($black, 15%);
14 |
15 | // theme link
16 | $theme-link: $blue;
17 | $theme-link-hover: lighten($blue, 10%);
18 | $theme-link-visited: lighten($purple, 10%);
19 |
20 | // theme code
21 | $theme-code: $theme-black;
22 | $theme-code-background: $bg-gray;
23 | $theme-code-inline: $theme-red;
24 | $theme-code-inline-background: darken($theme-white, 2%);
25 |
26 | // theme mask
27 | $theme-mask-white: transparentize($theme-white, 0.9);
28 | $theme-mask-black: transparentize($theme-black, 0.9);
29 |
30 | // theme menu
31 | $theme-menu-width-sm: 85%;
32 | $theme-menu-width: 300px;
33 | $theme-menu-background: darken($theme-black, 10%);
34 | $theme-menu-active-background: darken($theme-blue, 15%);
35 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/ranking/RankingStructureDouble.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.ranking;
2 |
3 | import com.codebroker.redis.collections.RankingStructure;
4 | import com.codebroker.redis.collections.ScoresPoint;
5 | import com.codebroker.redis.collections.builder.AbstractExpirable;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import com.codebroker.redis.collections.builder.score.ScorePointDouble;
8 | import redis.clients.jedis.Jedis;
9 |
10 | public class RankingStructureDouble extends AbstractExpirable implements RankingStructure {
11 |
12 | public RankingStructureDouble(Jedis jedis, String nameSpace) {
13 | super(jedis, Double.class, nameSpace);
14 | }
15 |
16 | @Override
17 | public ScoresPoint create(String key) {
18 | return new ScorePointDouble(jedis, RedisUtils.createKeyWithNameSpace(key, nameSpace));
19 | }
20 |
21 | @Override
22 | public void delete(String key) {
23 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/impl/QueueStructureImpl.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.impl;
2 |
3 | import com.codebroker.redis.collections.QueueStructure;
4 | import com.codebroker.redis.collections.builder.AbstractExpirable;
5 | import com.codebroker.redis.collections.builder.RedisQueue;
6 | import com.codebroker.redis.collections.builder.RedisUtils;
7 | import redis.clients.jedis.Jedis;
8 |
9 | import java.util.Objects;
10 | import java.util.Queue;
11 |
12 | public class QueueStructureImpl extends AbstractExpirable implements QueueStructure {
13 |
14 | public QueueStructureImpl(Jedis jedis, Class clazz, String nameSpace) {
15 | super(jedis, clazz, nameSpace);
16 | }
17 |
18 | @Override
19 | public Queue get(String key) {
20 | Objects.requireNonNull(key);
21 | return new RedisQueue<>(jedis, clazz, RedisUtils.createKeyWithNameSpace(key, nameSpace));
22 | }
23 |
24 | @Override
25 | public void delete(String key) {
26 | jedis.del(RedisUtils.createKeyWithNameSpace(key, nameSpace));
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/api/classloader/JarLoader.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.api.classloader;
2 |
3 | import jodd.io.findfile.FindFile;
4 | import jodd.util.cl.ExtendedURLClassLoader;
5 |
6 | import java.io.File;
7 | import java.net.URL;
8 | import java.util.List;
9 | import java.util.stream.Stream;
10 |
11 | /**
12 | * jar读取器
13 | */
14 | public class JarLoader implements IClassLoader {
15 |
16 | private ExtendedURLClassLoader extendedURLClassLoader;
17 |
18 | @Override
19 | public ClassLoader loadClasses(String jarPath, ClassLoader classLoader) throws Exception {
20 | FindFile ff = new FindFile()
21 | .recursive(true)
22 | .includeDirs(true)
23 | .searchPath(jarPath);
24 | List all = ff.findAll();
25 | //找到的jar转换成数组
26 | URL[] classpath=new URL[all.size()];
27 | for (int i = 0; i < all.size(); i++) {
28 | classpath[i] = all.get(i).toURI().toURL();
29 | }
30 | extendedURLClassLoader=new ExtendedURLClassLoader(classpath, classLoader,true);
31 | return extendedURLClassLoader;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/docs/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 RunDocs & contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/_includes/class/addons-wrap.liquid:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ site.title }}
5 |
6 |
7 |
8 | {{ docs.source.branch }}
9 |
10 |
11 |
12 |
13 |
14 | {%- assign items = "github, analytics" | split: ", " -%}
15 | {% for item in items -%}
16 | {% include addons/{{ item }}.liquid %}
17 | {% endfor -%}
18 |
19 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/CodeBroker/src/main/java/com/codebroker/redis/collections/builder/buider/MapStructureBuilder.java:
--------------------------------------------------------------------------------
1 | package com.codebroker.redis.collections.builder.buider;
2 |
3 | import com.codebroker.redis.collections.MapStructure;
4 | import com.codebroker.redis.collections.builder.impl.MapStructureImpl;
5 | import com.codebroker.redis.collections.exception.RedisBuilderException;
6 | import org.apache.commons.lang3.StringUtils;
7 | import redis.clients.jedis.Jedis;
8 |
9 | public class MapStructureBuilder {
10 |
11 | private Class clazz;
12 |
13 | private String nameSpace;
14 |
15 | private Jedis jedis;
16 |
17 | MapStructureBuilder(Jedis jedis, Class clazz) {
18 | this.jedis = jedis;
19 | this.clazz = clazz;
20 | }
21 |
22 | public MapStructureBuilder withNameSpace(String nameSpace) {
23 | this.nameSpace = nameSpace;
24 | return this;
25 | }
26 |
27 | public MapStructure build() {
28 | if (StringUtils.isBlank(nameSpace)) {
29 | throw new RedisBuilderException("The nameSpace must be specified");
30 | }
31 | return new MapStructureImpl<>(jedis, nameSpace, clazz);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/docs/_sass/lib/@primer/css/forms/form-select.scss:
--------------------------------------------------------------------------------
1 | // Custom select
2 | //
3 | // Apply `.select` to any `