![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0ETNkVzN3gTZ1ITMxEjN5gTZiRjYkZGNyUTZ0QjYlF2LcVGZhJ3RvwVZnRWYi9CX0NWZq9mcw9CXt92Yuk3YhR2bj5SawF2Lc9CX6MHc0RHaiojIsJye.jpg)
簡介
Noark是一個遊戲伺服器端架構,可快速開發出一個易維護、易擴充且穩定高能的遊戲伺服器,讓開發者專注于業務功能的開發
實作了配置注入,協定映射,模闆加載,資料存儲,異步事件,延遲任務,内部指令等功能子產品
進而達到了松散耦合的效果,提高了系統的可重用性、可維護性以及可擴充性
精心設計過的它大大簡化了網絡程式設計和多線程程式設計,衆多的工具類庫就是為了解決開發中那些重複勞動而産生的架構
優點:
使用簡單,學習成本低
功能強大,很容易寫出性能優秀的服務
十分靈活,并且可與常用技術無縫銜接
安裝
Gradle
implementation "xyz.noark:noark-game:3.4.0.Final"
目前需要Jdk1.8,Noark版本最新已是3.4.0了
引入Noark,按照曆史慣例,先來一個Hello Kitty...
Hello Kitty
第一個遊戲伺服器Demo,來開始我們的ABC三步走
A、Application應用啟動入口
在【com.company.slg】包下建立一個入口類
package com.company.slg;
import xyz.noark.game.Noark;
public class GameServerApplication {
public static void main(String[] args) {
Noark.run(GameServerBootstrap.class, args);
}
}
B、Bootstrap啟動引導入口
在【com.company.slg】包下建立一個引導啟動類,繼承BaseServerBootstrap
package com.company.slg;
import xyz.noark.game.bootstrap.BaseServerBootstrap;
public class GameServerBootstrap extends BaseServerBootstrap {
@Override protected String getServerName() {
return "game-server";
}
}
C、Configuration配置中心
這個不是必選項,用于配置第三方服務類
package com.company.slg;
import xyz.noark.core.annotation.Configuration;
@Configuration
public class GameServerConfiguration {}
啟動遊戲伺服器
直接運作main方法,一個簡單的遊戲伺服器就跑起來了
2018-08-16 18:23:38.178 [main] INFO AbstractServerBootstrap.java:62 - starting game-server service...
2018-08-16 18:23:38.181 [main] DEBUG NoarkIoc.java:47 - init ioc, packages=com.company.slg
2018-08-16 18:23:38.504 [main] INFO ReloadManager.java:41 - loading template data. checkValidity=true
2018-08-16 18:23:38.504 [main] INFO ReloadManager.java:47 - load template data success.
2018-08-16 18:23:38.504 [main] INFO ReloadManager.java:50 - check template data...
2018-08-16 18:23:38.505 [main] INFO ReloadManager.java:52 - check template success.
2018-08-16 18:23:38.505 [delay-event] INFO DelayEventThread.java:41 - 延遲任務排程線程開始啦...
2018-08-16 18:23:38.606 [main] INFO NettyServer.java:119 - game tcp server start on 9527
2018-08-16 18:23:38.607 [main] INFO NettyServer.java:128 - game tcp server start is success.
game-server is running, interval=427.21872 ms
2018-08-16 18:23:38.607 [main] INFO AbstractServerBootstrap.java:76 - game-server is running, interval=427.21872 ms
2018-08-16 18:23:38.609 [main] INFO AbstractServerBootstrap.java:166 - :: Noark :: 3.4.0.Final
_ _ U ___ u _ ____ _ __ _____
| \ |"| \/"_ \/U /"\ uU | _"\ u |"|/ / |___"/u
| | | | \/ _ \/ \| |_) |/ | ' / U_|_ \/
U| |\ |u.-,_| |_| | / ___ \ | _ < U/| . \\u ___) |
|_| \_| \_)-\___/ /_/ \_\ |_| \_\ |_|\_\ |____/
|| \\,-. \\ \\ >> // \\_,-,>> \\,-._// \\
(_") (_/ (__) (__) (__)(__) (__)\.) (_/(__)(__)
相關文檔傳送門
目标
我們的目标:穩定、高性能、可擴充、易維護、提高開發效率,我們沒有要取代誰,也沒有要超越誰,我們隻做我們自己。
QQ群
85750544(Noark官方交流群)