前面实现RMS系统时,我们让其直接访问底层数据库.后面我们在idlewow-game模块实现游戏逻辑时,将不再直接访问底层数据,而是通过hessian服务暴露接口给表现层. 本章,我们先把hessian服务搭好,并做一个简单的测试,这里以用户注册接口为例. 先简单介绍下,实现hessian接口,只需要在facade模块暴露接口,然后在core模块实现接口,最后在hessain模块配置好接口路由,将其启动即可. 实现步骤 idlewow-facade 新建包com.idlewow.user.mod…
|- kbengine (KBE_ROOT 根目录) |- demo (游戏例子工程的根目录) |- res (工程的所有资源) |- spaces (通常存放游戏场景相关的资源,例如Navmesh) |- server (通常放置服务端相关的配置文件) |- scripts (所有的游戏逻辑,python文件) |- base (Base的Python逻辑) |- cell (Cell的Python逻辑) |- client (Client的Python逻辑) |- bots (机器人的Pyt…
服务器发布流程及其规范1,环境准备        a, mvn命令行:从\\10.21.210.161\share\tools\apache-maven-3.1.1-bin.tar.gz取出安装包,        解压到本地目录A,添加环境变量M2_HOME指向A,并在系统Path环境变量中增加"%M2_HOME%\bin",        使其可以在命令行下使用.        b, 准备cygwin环境.从http://cygwin.com/setup-x86_64.exe 或 \…
一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是一位英雄.客户端和服务端均使用C#开发,客户端使用Unity3D引擎,数据库使用MySQL.这个MOBA类游戏是笔者在学习时期和客户端美术策划的小伙伴一起做的游戏,笔者主要负责游戏服务端开发,客户端也参与了一部分,同时也是这个项目的发起和负责人.这次主要分享这款游戏的服务端相关的设计与实现,从整体的架构设计,到服务器网络通信底层的搭建,通信协议.模型定制,再到游戏逻辑的分层架构实现.同时这篇博客也沉淀了笔者在游戏公司实践五…
注:本文仅用于在博客园学习分享,还在随着项目不断更新和完善中,多有不足,暂谢绝各平台或个人的转载和推广,感谢支持. 一.前言 <码神联盟>是一款为技术人做的开源情怀游戏,每一种编程语言都是一位英雄.客户端和服务端均使用C#开发,客户端使用Unity3D引擎,数据库使用MySQL.这个MOBA类游戏是笔者在学习时期和客户端美术策划的小伙伴一起做的游戏,笔者主要负责游戏服务端开发,客户端也参与了一部分,同时也是这个项目的发起和负责人.这次主要分享这款游戏的服务端相关的设计与实现,从整体的架构设计,…
如何看懂Minecraft报错的关键信息. 让你如何看懂Minecraft报错 前言 一些俏皮话 寻找崩溃日志 打开崩溃日志 重要的事说三遍 下载文本编辑器 开始分析 深度分析 得出结论 修复报错 解决方案 看懂更多 结束 前言 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外,比如网易 [WARNING] 本篇适用于Minecraft服务端/客户端报错的诊断分析,其他游戏除外,比如网易 [WARNING] 本篇适用于Minecraft服务端/客户端报错…
前两张,我们已经实现了登陆界面和游戏的主界面.不过游戏主界面的数据都是在前端写死的文本,本章我们给game模块添加websocket组件,实现前后端通信,这样,前端的数据就可以从后端动态获取到了. 一.添加maven依赖 在game模块的pom中,我们添加3个依赖包如下: <!-- websocket组件 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spr…
前面我们已经实现了在后台管理系统中,对配置数据的增删查改.但每次添加只能添加一条数据,实际生产中,大量数据通过手工一条一条添加不太现实.本章我们就实现通过Excel导入配置数据的功能.这里我们还是以地图数据为例,其他配置项可参照此例. 涉及的功能点主要有对office文档的编程.文件上传功能.流程图大致如下: 一.添加依赖项 解析office文档推荐使用免费的开源组件POI,已经可以满足80%的功能需求.上传文件需要依赖commons-fileupload包.我们在pom中添加下列代码: <!-…
前面几章实现了在RMS系统中进行数据的增删查改以及通过Excel批量导入.但仍有遗留的问题,比如在新增或编辑时,怪物的生命值.护甲等数据我们可以输入负值,这种数据是不合理且没有意义的.本章我们就实现服务端对参数的校验. 一.添加依赖项 在rms模块的pom.xml中,添加校验组件的依赖项(注意:之前的组件我们都引用了最新版本.但因hibernate-validator的最新版本6.xx+中引用的el-api.jar有冲突,无法用maven插件启动,所以这里使用5.1.1版本): <!-- 参数校…
前面我们已经实现了在后台管理系统中,对配置数据的增删查改.但每次添加只能添加一条数据,实际生产中,大量数据通过手工一条一条添加不太现实.本章我们就实现通过Excel导入配置数据的功能.这里我们还是以地图数据为例,其他配置项可参照此例. 涉及的功能点主要有对office文档的编程.文件上传功能.流程图大致如下: 一.添加依赖项 解析office文档推荐使用免费的开源组件POI,已经可以满足80%的功能需求.上传文件需要依赖commons-fileupload包.我们在pom中添加下列代码: <!-…
早年开发游戏必须用C++,这没得说,2000-2004年,java还没有nio,其他动态语言不抗重负,只能C/C++能开发出完整可用的游戏服务端.直到2005年,韩国的游戏很多都还是纯C++写服务端,金山之前也开发过很多纯粹C++的游戏服务端,后来大家都切了. 现代选择有很多:java + javascript, c+python, c+lua, scala, go, erlang.我们面向性能的服务器用 java,面向逻辑服务器 python,面向高并发的会选择 scala,次一级高并发或者性…
好消息:IM1.0.0版本已经上线啦,支持特性: 私聊发送文本/文件 已发送/已送达/已读回执 支持使用ldap登录 支持接入外部的登录认证系统 提供客户端jar包,方便客户端开发 github链接: https://github.com/yuanrw/IM 前言 首先讲讲IM(即时通讯)技术可以用来做什么: 聊天:qq.微信 直播:斗鱼直播.抖音 实时位置共享.游戏多人互动等等 可以说几乎所有高实时性的应用场景都需要用到IM技术. 本篇将带大家从零开始搭建一个轻量级的IM服务端,麻雀虽小,五脏…
第十单元 系统的初始化和服务 Linux系统引导的顺序 Linux系统引导的顺序 BOIS的初始化和引导加载程序 什么是BIOS GRUB程序和grub.conf文件 什么是grub grub配置文件grub.conf 内核的初始化和init的初始化 init的配置文件/etc/inittab init程序要做的工作 run levels(运行级别) 各运行级别对应的功能 关闭系统及重启系统 关闭系统的命令 重启系统的命令 单用户模式修改用户密码 救援模式 课后作业 [本节内容]1. Linux…
最近学院组织了一个实训,要求是利用Socket通信和D3D的知识, 写一个多人在线的游戏, 服务端是在linux下, 客户是在Windows下: 写这个的目的是想让大家给我找错, 欢迎大家的意见.我的QQ 是343167101,希望和大家一起讨论. 服务端(linux下): 服务端使用的是非阻塞Select模型,下面是项目的结构图: 由于其中有很多的消息,其次为了扩展,所以使用了工厂模式,我把从客户端接受的消息都放在输入缓冲区中, 向客户端发送的消息都放在输出缓冲区中, 为了对玩家进行管理 设计…
Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese…
国内的EDM服务商多若繁星.下面博主为大家介绍十家国内知名的EDM服务提供商. 一.Webpower 威勃庞尔. 官方网站是:www.webpower.asia.作为全球领先的邮件营销解决方案提供商,webpower自1999年在荷兰成立,并先后在全球6个国家设有分支机构,专注于邮件营销领域的产品研究.服务创新和业务咨询. 2005年webpower进入中国,提供基于dmdelivery平台的EDM技术与全案咨询服务,至今服务客户已超过千家,业界排行第一. 二.Focussend. Focuss…
Nodejs相关依赖模块介绍 Nodejs的优势这里就不做介绍啦,这年头相信大家对它也不陌生了.这里主要介绍一下用到的第三方模块. async:js代码中到处都是异步回调,很多时候我们需要做同步处理,使用async可以大大简化我们的同步处理的任务(没有它的时候,可能要用递归去处理异步问题了). jsdom:一个 W3C DOM 的 JS 实现.用这玩意相当犀利,它不仅可以将文档解析成 DOM,而且,你还可以用 YUI 或着 jQuery 去操作生成的 DOM.这在从页面中提取数据时格外有用.这次…
2014年新春佳节即将到来,也算是送给大家的一份新年礼物.虽然这礼物貌似不给力啊哈哈.(没有用心啊 o(∩_∩)o 哈哈) 这次开源主要去掉上一次开源版本中大量指针代码,简化上手操作,并重构大部分代码提高性能.并且去掉了之前臃肿的MSSQL换成SqlLite. 此次更新也修正了上次代码中遗留下的许多bug,上次很多朋友都无法正常进入游戏,这次也修正了之前可能导致无法进入游戏bug. 代码纯粹娱乐开发.高手勿喷. 代码已经相关配套服务端下载地址:http://pan.baidu.com/s/1kT…
VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端服务池由一个或多个终端服务器组成的群集提供服务 2.负载平衡基于最小会话计数:即选择具有最小活动会话计数的池之后,在该池内所有终端服务器之间的view Manager负载平衡链接请求数目 3.管理员可将整个池授权给用户或用户组 说明: 环境基于实验二十四 1.   准备一台Windows Serve…
很久之前,在博客园写了一篇文章,<分布式网游server的一些想法语言和平台的选择>,当时就有了用C#做网游服务端的想法.写了个Unity3d客户端分布式服务端框架,最近发布了1.0版本,取名ET框架.ET框架的目标就是简化客户端开发,简化分布式服务端开发,但是功能非常强大,完全可以作为一个大型分布式服务端使用.ET框架有很多创造性的设计: 1.可用VS单步调试的分布式服务端,N变1 一般来说,分布式服务端要启动很多进程,一旦进程多了,单步调试就变得非常困难,导致服务端开发基本上靠打log来查…
SNS类游戏基本都是使用HTTP短连接,用Java来开发服务端时能够使用Servlet+Tomcat非常轻松的架构起服务端来.在这里介绍一种使用Servlet比較好的一种设计,我也见过非常多基于HTTP请求的游戏服务端使用Struts.Spring.Hibernate等等.事实上我感觉对于游戏来说使用这些东西非常繁琐.若是开发Java Web应用使用SSH倒是合情合理. 使用Servlet时,我们能够仅仅创建一个Servlet左游戏中全部请求的入口,然后使用注解来标识方法,在程序启动时使用反射去…
上一篇文章<springboot(十九):使用Spring Boot Actuator监控应用>介绍了Spring Boot Actuator的使用,Spring Boot Actuator提供了对单个Spring Boot的监控,信息包含:应用状态.内存.线程.堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期. 但是这样监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的Json信息不方便运营人员理解:第二,如果…
JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接,可以看到什么样的效果 package com.lgl.socket; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; publ…
视频截图如下: (具体视频见文末) 前言: 这是小猫的第三篇node教程,本篇内容是由公众号粉丝票选得出的,相信大家对这篇教程是抱有较大希望的,这篇教程由小猫和一位多年的好朋友合作完成(笔名:谷雨,博客地址:https://segmentfault.com/u/1024dylan),也是ssr的启蒙教程,适合刚刚入门node,并且有一定react开发经验的同学,希望能给大家带来一份收获哦. 小猫教程特色,就是每个知识点都以实战例子讲解,配以视频,长度十分钟左右.让你很快上手,带有成就感的初探技术…
缘起 时间真快,现在已经是这个系列教程的下半部 Vue 第 12 篇了,昨天我也简单思考了下,可能明天再来一篇,Vue 就基本告一段落了,因为什么呢,这里给大家说个题外话,当时写博文的时候,只是想给大家增加点儿学习的动力,每天提醒下,完全没有提纲或者安排说明什么的,就是按照我自己学的方向走,正好发现了一个规律就是:每一个系列正好是 1 个引子 + 12 篇正文,不知道大家对这个有没有感觉,大家可能看到我的头像就知道了,哈哈,其实我是一个红迷,正好这里机缘巧合,两个系列都形成了这样的,我自私的给自…
Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Python3从零开始爬取今日头条的新闻[四.模拟点击切换tab标签获取内容] Python3从零开始爬取今日头条的新闻[五.解析头条视频真实播放地址并自动下载] 所谓爬虫,就是通过编程的方式自动从网络上获取自己所需的资源,比如文章.图片.音乐.视频等多媒体资源.通过一定的方式获取到html的内容,再通过…
Spring Boot(二十):使用spring-boot-admin对spring-boot服务进行监控 Spring Boot Actuator提供了对单个Spring Boot的监控,信息包含:应用状态.内存.线程.堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期. 但是这样监控也有一些问题:第一,所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的Json信息不方便运营人员理解:第二,如果Spring Boot应用集群非常大,每个应…
在现在很多业务场景(比如聊天室),又或者是手机端的一些online游戏,都需要做到实时通信,那怎么来进行双向通信呢,总不见得用曾经很破旧的ajax每隔10秒或者每隔20秒来请求吧,我的天呐(),这尼玛太坑了 跟webservice来相比,Web Socket可以做到保持长连接,或者说强连接,一直握手存在两端可以互相发送消息互相收到消息,而webservice是一次性的,你要我响应就必须要请求我一次(黄盖:“请鞭挞我吧!”) 注:浏览器需要使用高版本的chrome或者Firefox,Tomcat使…
今天在园子里看到一篇文章: 借助Nodejs在服务端使用jQuery采集17173游戏排行信息 感觉用SS来实现相同功能更加简洁, 于是写了一下, 发现25行代码就搞定了 (包括自动翻页), 于是跟大家分享分享. 脚本: public void Run() { Default.Navigate("http://top.17173.com/index-0-0-0-0-0-0-0.html"); Default.Ready(); while(Default.Available) { var…
目标 展示 C# 服务端集成极光推送的步骤,多图少字,有图有真相. 使用极光推送, C# 服务端推送到 Demo App,Android 手机收到推送,整理为十个步骤,使用十分钟左右,完成从注册账号到 Android 手机上的 Demo App 收到推送. 1.注册极光账号 注册页面: https://www.jiguang.cn/accounts/register/form 2.创建应用 控制台:https://www.jiguang.cn/dev/#/app/list 创建应用:https:…