Skip to content

xiaoe/noark3

Repository files navigation

官方网站 www.noark.xyz

Codacy Badge Build Status maven JDK license GitHub last commit codecov

简介

Noark是一个游戏服务器端框架,可快速开发出一个易维护、易扩展且稳定高能的游戏服务器,让开发者专注于业务功能的开发
实现了配置注入,协议映射,模板加载,数据存储,异步事件,延迟任务,内部指令等功能模块
从而达到了松散耦合的效果,提高了系统的可重用性、可维护性以及可扩展性
精心设计过的它大大简化了网络编程和多线程编程,众多的工具类库就是为了解决开发中那些重复劳动而产生的框架

优点:

  • 使用简单,学习成本低
  • 功能强大,很容易写出性能优秀的服务
  • 十分灵活,并且可与常用技术无缝衔接

安装

Gradle

implementation "xyz.noark:noark-game:3.4.8.Final"

当前需要Jdk1.8,Noark版本最新已是3.4.8了

引入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.8.Final
  _   _     U  ___ u    _       ____      _  __   _____  
 | \ |"|     \/"_ \/U  /"\  uU |  _"\ u  |"|/ /  |___"/u 
<|  \| |>    | | | | \/ _ \/  \| |_) |/  | ' /   U_|_ \/ 
U| |\  |u.-,_| |_| | / ___ \   |  _ <  U/| . \\u  ___) | 
 |_| \_|  \_)-\___/ /_/   \_\  |_| \_\   |_|\_\  |____/  
 ||   \\,-.    \\    \\    >>  //   \\_,-,>> \\,-._// \\ 
 (_")  (_/    (__)  (__)  (__)(__)  (__)\.)   (_/(__)(__)

相关文档传送门

目标

我们的目标:稳定、高性能、可扩展、易维护、提高开发效率,我们没有要取代谁,也没有要超越谁,我们只做我们自己。

QQ群

85750544(Noark官方交流群)