自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 游戏框架设计与重要模块详解

1:先做好最基础的框架:世界中心服务器:相当于一个总控制室,所有的服务都要连接器连接到中心服。各服务间通信,web的GM请求都要通过中心服。数据服务器:游戏服与数据库(mysql或者MongoDb)之间的一个纽带。数据的中转中心,读写与存储数据,同时缓解大数据下数据库的压力游戏服务器:主逻辑服务,包括玩家的上线,城建、运兵、战斗各种逻辑。主要的大系统一般使用C++来写,lua写各种比较...

2019-07-17 17:33:36 2261

原创 C++基础深入的总结

https://wenku.baidu.com/view/5b3bf5f376c66137ef0619c1.html

2018-06-14 10:08:48 189

原创 深入技术的理解

数据库八大优化:索引,合适属性字段,join,union,事物,锁表,外键,数据库语句优化C++与lua通信:C++与lua通过堆栈通信,c++调用lua,通过压栈数据,lua取到数据进行运算,再把数据返回栈顶,c++再通过api调用栈顶数据。lua调用c++,c先编写函数,再注册到lua的解释器里面,lua在table里面通过全局变量调用c++函数线程间生产者消费者模式:生产者消费者模式间主要利...

2018-06-04 17:52:35 269

原创 检测内存泄漏的方法

重载new和delete来检测内存泄漏1. 简述    内存泄漏属于资源泄漏的一种,百度百科将内存泄漏分为四种:常发性内存泄漏、偶发性内存泄漏、一次性内存泄漏和隐式内存泄漏。    常发性指:内存泄漏的代码会被多次执行到。偶发性指:内存泄漏的代码只有在特定的条件下才会执行到。一次性指:内存泄漏的代码只会被执行到一次。隐式指:程序在运行中不断的开辟内存,知道程序结束时才释放内存,本质上虽然没有内存泄...

2018-05-16 12:44:31 2269

原创 linux进程间通信-内存共享

一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影响到

2017-11-07 16:33:32 155

原创 浅谈网游服务器的承载

游戏行业,服务器承载一个比较常见的问题

2017-07-06 17:45:37 1171

原创 服务器主逻辑行列

LogicDef.h 定义了功能系统的系统IDLogicServerCmd.h 定义了与客户端通讯的消息协议。实体对象处理消息函数:CAnimal::ProcessEntityMsg(const CEntityMsg &msg)服务器启动  CLogicServer::StartServer()

2017-07-03 11:53:40 230

原创 搭建游戏服务器的问题笔记

1:FTBserver进行数据的传输,FTP服务器可以设置匿名登录或者账号登录,8uftp。需要服务器然后客户端连接2 : 数据库的建立注意不要占用接口,一般使用3306,在连接其它机器数据库的时候注意不要开着防火墙3:APMServer服务器,通过配置找到FireWeb下的程序,IP和端口再转到客户端目录,然后进行游戏登入4 : 架设私服步骤:1,架好APMSer

2017-07-03 11:41:02 989

原创 操作系统位数与数据字节数的关系

各类型的数据长度是由编译器决定的:发现 数据类型占内存的位数实际上与操作系统的位数和编译器(不同编译器支持的位数可能有所不同)都有关,具体某种数据类型占字节数得编译器根据操作系统位数两者之间进行协调好后分配内存大小。具体在使用的时候如想知道具体占内存的位数通过sizeof(int)可以得到准确的答案。     C类型           32

2017-07-03 11:24:43 1673

原创 网络编程中最简单的TCP通信(CS模型)

************************Tcp_client.cpp************************----------------------------------------------------------------------------#include #include "WinSock2.h"#pragma comment(lib,

2017-06-27 17:57:07 2879

原创 SQL求平均值以及总和的写法

select  科目,MAX(分数) from  表名 where group by  科目select Customer, Sum(OrderPrice) from 表名 where group by Customer

2017-06-27 17:53:58 8089

原创 数据库常见知识点

数据库知识点

2022-03-28 15:26:08 211

原创 cmake命令集合

1)project 命令命令语法:project(<projectname> [languageName1 languageName2 … ] )命令简述:用于指定项目的名称使用范例:project(Main)2)cmake_minimum_required命令命令语法:cmake_minimum_required(VERSION major[.minor[.patch[.tweak]...

2018-06-01 10:33:31 181

原创 epoll

epoll有两种模式,Edge Triggered(简称ET) 和 Level Triggered(简称LT).在采用这两种模式时要注意的是,如果采用ET模式,那么仅当状态发生变化时才会通知,而采用LT模式类似于原来的select/poll操作,只要还有没有处理的事件就会一直通知.以代码来说明问题: 首先给出server的代码,需要说明的是每次accept的连接,加入可读集的时候采用的都是ET模式...

2018-05-29 16:48:34 132

原创 linux下预处理、编译、汇编并生成可执行文件

一、预编译 1.将所有的#define删除,并展开所有的宏定义; 2.处理所有的预编译指令,例如:#if,#elif,#else,#endif; 3.处理#include预编译指令,将被包含的文件插入到预编译指令的位置; 4.添加行号信息文件名信息,便于调试; 5.删除所有的注释:// /**/; 6.保留所有的#pragma编译指令,因为在编写程序的时候,我们经常要用到#pragma指令来设定编...

2018-05-24 11:43:16 2569

原创 服务端中C++/lua的交互

一.lua堆栈要理解lua和c++交互,首先要理解lua堆栈。简单来说,Lua和C/c++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在lua中,lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图:二.堆栈的操作因为lua与c/c++是通过栈来通信,lua提供了C API对栈进行操作。我们先来看一个...

2018-05-23 16:01:11 1072 2

原创 Apache的游戏应用

APMServ:http://192.168.10.250/game/game.html?srv=3通过这样的访问,连接到APNfunction connectSrv(id, user, pwd)。APMServ再读取相应客户端资源,连接到服务器...当然这一种的话也可以通过架设APq来实现.apache(Web服务器):[1]  Apache是世界使用排名

2017-07-03 11:57:53 445

原创 PHP对接笔记

以360平台为例。游戏链接目录为fireweb,平台上面是从webgame的login360.php进入的,包括了用户,md5的加密。再转到game.php../configuration/config.inc360.php 杂乱的配置GameConfigwan.xml  这是进游戏的配置再转到s1.php最终进入的游戏dat

2017-07-03 11:56:54 240

原创 游戏网关的作用

游戏gate起到的作用是转发客户端数据一般就是玩家登陆和关闭会话//接收数据的线程VOID STDCALL CRunDataProcesser::RecvDataProcessRoutine(CRunDataProcesser *pRunData)//收到用户的数据包VOID CRunDataProcesser::ProcessUserRecvPacket(PRUNGATE

2017-07-03 11:56:15 2153

原创 游戏人物逻辑

脚本处理:主函数,commonQuestNpcMain(sysarg,func)当人物身上只有一个任务的时候就只返回任务内容引擎格式化任务状态:local mission,qc,qid,state = Actor.formatQuestState( sysarg,qc,qid,state ) mission(任务描述),qc(任务数量),qid(当前任务ID),state(任务状态,0为可接,

2017-07-03 11:52:33 446

原创 BUFF系统

BUFF系统即为人物状态系统。根据不同的类型对人物进行一些属性值上的变更或者对其他系统的影响。 BUFF 系统设计为有时间限制的系统。比如道士的毒对实体的作用是有次数以及时间长度的。过了时间就失去效果。 BUFF 系统在实体LogicRun 内进行每一秒的检测。即buff 的最小单位时间为1秒。比如当策划想要一个每500毫秒减少血量的buff 这个就无法实现。因为至

2017-07-03 11:51:01 649

原创 技能系统

技能系统有等级所区分。为了做到通用性单个技能系统设计为多个等级表构成,而每个等级表又由多个坐标作用表构成。每一个坐标作用表包含作用条件表( 所有条件都通过此作用才生效)  以及作用结果表(此结果对怪物或者玩家会造成哪些结果)。  当执行的时候会遍历这些坐标作用表检查作用条件并且执行作用结果。 具体的配置说明可以查看 LogicServer/data/conf

2017-07-03 11:48:21 309

原创 游戏服务端之间内部通讯数的据包解析

DB的包发送结构:CDataPacket& retPack = allocProtoPacket(dcQuery);    (1):CDataPacket& CLogicDBReqestHandler::allocProtoPacket(const jxSrvDef::INTERSRVCMD nCmd){    return m_pHost->AllocDataPacket

2017-07-03 11:46:27 720

原创 游戏服务器内存管理笔记

1:C++中对应数组越界的处理是。越界不报错也不提示。但是访问数组时出现野指针会报内存错误。也就是其它程序访问到了这段内存的话因为不对才报错2:玩家离线数据保存于加载;从DB那边得到数据,DB发给引擎数据.引擎给进行装载处理。放进离线指针中离线信息:@CallTimers UpdateRankData 刷新了排行榜以后DB会发送引擎数据,重新更新排行榜。这是最新

2017-07-03 11:44:19 476

lua写的寻路算法

一个lua写的寻路算法,一条路径下去,寻过的节点做标记不要再寻,一个临时的航线列表做维护,选出一条路径后,以后大于这条路径长度就不要再去做递归了

2018-09-18

VASSISTX破解工具

VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。VASSISTX破解工具,看文档操作。

2018-07-02

lua打包成cbp的工具

服务端资源打包成客户端资源的工具,lua打包成bcp,有delphi写的可视化界面

2016-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除