基础

基础

运营功能需求

一.目标
快速关闭服务器
快速部署跟新服务器
提供运行所需的配置工作

二.功能
发任务
批量玩家系统消息
全区系统消息
发邮件
踢人
禁言
封账号
封ip
通过GM指令关闭服务器
通过GM工具自动部署服务器

基础

基础

基础

基础

基础

基础

基础

相关文章

活动目的

促进游戏留存率,及用户消费等,最终目的是促进用户消费。

活动要素

活动时间:永久、时间段(期限限制)
活动范围:什么区,什么服可以参加
活动内容:描述了活动的参与规则,达成条件,领取奖励等信息

活动流程

看到活动->参与活动->领取奖励

看到活动

方式主要有两种
游戏内部
    活动界面展示、GM活动提醒等
游戏外部
    游戏官网、渠道、微信等

参与活动

参与条件限制:时间限制(到了时间自动默认参加),玩家达成指定条件才可参与.
活动状态(时间):未开启、已开启、已结束
参与状态:未参加、已参加、已完成(已参加并领取完了活动奖励)

领取奖励

能否领取奖励条件
玩家参与了活动,玩家达到领取奖励的触发条件
奖励状态:不可领取(未达成领取奖励条件)、可领取、已领取

活动分析

活动范围分析:只要服与服之间不共享数据,那么就存在不同的服有不同的活动,比如手游IOS平台服与Android服数据不共享,通常有针对各自平台的活动,比如端游不同的区有不同的活动,甚至同一区,几个服也有不同的活动。

活动时间分析:活动按时间可分为两种,永久型,时间限制。永久型活动的特点是保留性,以数据持久化的角度考虑,玩家永久型活动的数据是需要永久保存的。时间限制性活动的特点是只能在活动时间段内才能参加,在活动开始之前或活动开始之后无法再次参加,通常为一次性活动,以数据持久化的角度考虑,在游戏结束后是可以不必保存该类型活动数据的。

常见活动示例

永久性活动

每日活动、每周活动

活动描述:
    每日活动:通关A,B,C副本可获得宝石、金币、等多少
    每周活动:周一完成。。。,可获得。。。
              周二完成。。。可获得。。
              一周累计完成。。。多少次可获得。。。。

活动分析:它们属于永久性活动,通常一直存在,只是每日或每周达成条件与奖励不同罢了,它是循环型活动,在每周运营商关服维护后只需修改培训表的条件,奖励,无需修改代码即可,重新开服后清理玩家每日活动,每周活动的达成记录领取记录,玩家可重新开始参加活动。

签到型活动

每天签到领取什么

新手活动

玩家创建角色
针对新创建角色,新手的活动,目的为了鼓励新玩家加入游戏,或老玩家玩多个角色。如新手礼包

时间限制性活动

开服活动

运营商在新服初开之际,为了鼓励更多的玩家加入该新服,而准备的活动,活动开始时间为开服时间
,活动结束时间为新服开服后的某一天,如开服7日在线奖励活动。

节日活动

在国庆期间通过副本经验200%,通关巢穴获得什么

充值活动

在某日到某日充值,送。。。

消费活动

在某日到某日在商城购买抽奖券送。。。

游戏服务器活动模块实现

配置表设计

  • 活动表:活动类型+活动时间类型+活动列表(元素为活动奖励表中的id)+活动描述+开始时间+结束时间+额外数据(活动参与条件)

  • 活动(子项)奖励表:活动id+奖励达成条件+奖励+活动描述+额外数据

定义活动基类
活动基类
成员:
protected
活动类型 :时间类型
活动项:{id,活动类型,活动时间表,宣告id,时间长度,时间信息}
活动id 实例id(唯一性)
public
活动开启时间
活动结束时间

流程

1
2
3
4
5
6
st=>start: 项目Export 
e=>end: 结束
op1=>operation: 选择java下的javadoc
op2=>operation: 选择要导出的工程
op3=>operation: java doc的配置设置
st->op1->op2->op3->e

数据库设计

代码设计

活动基类
类名:ActivityBase
成员:活动类型、活动实例id,活动奖励数据,活动开启时间、结束时间、活动状态、附加数据
接口:
内部:
通用虚函数:活动开启、活动结束、激活活动、领取活动奖励、格式化活动数据
特殊虚函数:在线活动时间统计,邀请好友活动人数统计,副本通关统计等
活动管理器类
成员:活动列表
接口:
非虚:加载所有活动,玩家登陆、登出
玩家活动数据类:
函数:玩家活动数据加载,保存,更新,删除

外部cmd
– 通用接口

玩家登陆
玩家登出

激活指定类型活动(大类型)(当前默认条件是时间,也有可能是其它)
激活某类型当中子活动(条件值,当前int行,需扩展)
领取活动奖励
– 后台活动,获取后台活动玩家信息

方法
public

虚 活动开启
虚 活动结束

触发达成活动(事件影响活动奖励领取状态)
领取活动奖励
通知活动结束
获取活动类型
获取活动项
获取活动id

活动管理类
成员:
private
活动管理单例实例
活动容器

方法
public
定时器检测(活动创建与关闭)
销毁活动(活动列表删除活动)

private
创建活动(tempid)
public
玩家加入活动(玩家信息,活动id)
通知wordboss开启

基础

基础

基础

基础

基础

基础

总结

任务状态

  • 无效 INVALID
  • 任务已完成 COMPLETE
  • 任务正在进行中 RUNNING
  • 准备可以执行任务 VIABLE

任务管理

容器 任务列表

基础

基础

基础

基础

基础

基础

基础

基础

基础

基础

基础

基础

参考

基础

基础

基础

关服方式
1.GM关服(自身也是玩家)

2.web关服
通过连接服务

3.杀进程
不能保存数据
需知道服务的进程号

流程
服务器状态
启动中
运行中
重启中
关服中
已关闭

服务器启动时设置为启动中状态
禁止所有客户端连接
启动所有服务
收到所有服务已启动消息后设置为运行中

只有在运行中状态才允许客户端连接游戏

一个连接在请求关服后
设置为关服中状态
在关服状态下禁止连接(有新的连接直接杀掉)
需关闭所有除请求关服者之外所有的客户端连接(要保存数据)
通知关闭所有的服务
在收到所有的服务已关闭消息 设置为已关闭状态
像请求关服者发送已关服成功消息(或以断开连接表示)
视情况决定是否直接退出

连接服务器

基础

参考

总结

日志模块:我将此日志模块分为两大类,一类是游戏服务器调试维护用日志,一类是游戏运营用日志,可选择使用本地文档或是数据库模式记录
    调试维护日志没啥好说的,运营日志说说,是给客服提供的,谁消费了什么 交易流向 物品流向 等等的记录 GM操作的记录等等 比如万一某玩家装备被盗了,则可通过此来证明。 
日志模块分类:
一、运行日志
    描述:通常用于记录服务器日常运行状态及异常状态。通常以文件的形式进行存储,以备查看。如果需要存储到数据库中,或使用工具查看,则需要定义好日志的格式,以方便解析。
    存储方式:文件
    日志格式:
    记录方式:主要借助辅助工具 shell等监控服务器运行状态
    日志读取:远程访问
    日志处理:监控 记录 报警 维护

二、异常日志
    描述:主要记录在游戏服务器中程序发生的异常。有些BUG在测试环境中是很难测试到的。记录程序中的异常,可以定位程序中BUG的位置,清楚BUG产生的原因。对游戏服务器的改进提供必要的支持。
    存储格式:文件或数据库
    日志格式:时间 位置 错误原因 相关数据
    记录方式:捕获异常,存储到日志文件,或发送到日志服务器,统一存储
    日志读取:远程访问

三、运营日志
    描述:亦称为用户日志
    游戏服务器的核心就是用户的日志。用户日志可以分为几大类:登陆日志;消费日志,收入日志,行为日志,充值日志。
    1,登陆日志
    主要记录玩家登陆的时间,IP等信息。登陆日志可以用于判断客户端的状态。识别使用软件进行不正常的大规模访问。比如,频繁的登陆断开。这会给服务器造成额外的压力。使正常的玩家受到影响,有时候严重的,不能正常登陆。管理员可以根据这些信息,对此客户端的IP进行封号处理。
    2,消费日志
    主要记录玩家在游戏中各种货币的消费情况。根据这些信息,可以分析玩家大部分资金的流向,对运营的营销有很大的帮助。还可以根据这些信息,查看服务器系统中是否存在一些刷钱的BUG。因为一个人无限的可以购买一个物品明显是不正常的。根据这些日志,可以很快定位到哪个功能导致了这种情况的发生。
    3,收入日志
    主要记录玩家在游戏中的货币来源情况。也是游戏系统整个产出的表现。便于数值对整个游戏的产出情况做一个全面的了解。也有助于发现系统的BUG,因为一个人的资金突然比别的玩家高出了很多是不正常的。根据这些日志,可以定位到是哪个功能导致了这种异常的增长。
    4行为日志
    主要记录玩家的一些操作行为,比如抽卡次数,挑战次数,购买次数等信息。分析玩家在游戏成长过程中的行为。根据这些日志,可以修改游戏的某些小功能,增加用户体验的好感。
    5充值日志
    主要记录玩家的充值信息。这是非常重要的,如果一个玩家充值,钱扣了,但是钻石没发给人家,是要给人家一个说法的。充值日志可以直接反映出哪些玩家是土豪,清楚游戏收入的来源。
    存储方式:数据库
    日志格式:
    记录方式:主要借助辅助工具 shell等监控服务器运行状态
    日志读取:通过网站
    日志处理: 针对 通过gm

实现

shell脚本监控服务器教程

日志服务器实现教程

非实时存储
日志等级 存储优先级 存储实时性 日志

http://www.zolsky.com/read/best/6/314.htm

http://blog.csdn.net/yutianhuan/article/details/51121182

http://blog.csdn.net/gujintong1110/article/details/44278535

http://blog.chinaunix.net/uid-21222282-id-1829129.html

http://zhoulifa.bokee.com/6071872.html

基础

基础

基础

基础

基础

http://www.zolsky.com/read/best/6/314.htm

http://blog.csdn.net/yutianhuan/article/details/51121182

http://blog.csdn.net/gujintong1110/article/details/44278535

http://blog.chinaunix.net/uid-21222282-id-1829129.html

http://zhoulifa.bokee.com/6071872.html

基础

基础

基础

基础

基础

基础

参考

页面跳转

基础

基础

基础

基础

基础

基础

基础

基础

相关文章

活动目的

促进游戏留存率,及用户消费等,最终目的是促进用户消费。

活动要素

活动时间:永久、时间段(期限限制)
活动范围:什么区,什么服可以参加
活动内容:描述了活动的参与规则,达成条件,领取奖励等信息

活动流程

看到活动->参与活动->领取奖励

看到活动

方式主要有两种
游戏内部
    活动界面展示、GM活动提醒等
游戏外部
    游戏官网、渠道、微信等

参与活动

参与条件限制:时间限制(到了时间自动默认参加),玩家达成指定条件才可参与.
活动状态(时间):未开启、已开启、已结束
参与状态:未参加、已参加、已完成(已参加并领取完了活动奖励)

领取奖励

能否领取奖励条件
玩家参与了活动,玩家达到领取奖励的触发条件
奖励状态:不可领取(未达成领取奖励条件)、可领取、已领取

活动分析

活动范围分析:只要服与服之间不共享数据,那么就存在不同的服有不同的活动,比如手游IOS平台服与Android服数据不共享,通常有针对各自平台的活动,比如端游不同的区有不同的活动,甚至同一区,几个服也有不同的活动。

活动时间分析:活动按时间可分为两种,永久型,时间限制。永久型活动的特点是保留性,以数据持久化的角度考虑,玩家永久型活动的数据是需要永久保存的。时间限制性活动的特点是只能在活动时间段内才能参加,在活动开始之前或活动开始之后无法再次参加,通常为一次性活动,以数据持久化的角度考虑,在游戏结束后是可以不必保存该类型活动数据的。

常见活动示例

永久性活动

每日活动、每周活动

活动描述:
    每日活动:通关A,B,C副本可获得宝石、金币、等多少
    每周活动:周一完成。。。,可获得。。。
              周二完成。。。可获得。。
              一周累计完成。。。多少次可获得。。。。

活动分析:它们属于永久性活动,通常一直存在,只是每日或每周达成条件与奖励不同罢了,它是循环型活动,在每周运营商关服维护后只需修改培训表的条件,奖励,无需修改代码即可,重新开服后清理玩家每日活动,每周活动的达成记录领取记录,玩家可重新开始参加活动。

签到型活动

每天签到领取什么

新手活动

玩家创建角色
针对新创建角色,新手的活动,目的为了鼓励新玩家加入游戏,或老玩家玩多个角色。如新手礼包

时间限制性活动

开服活动

运营商在新服初开之际,为了鼓励更多的玩家加入该新服,而准备的活动,活动开始时间为开服时间
,活动结束时间为新服开服后的某一天,如开服7日在线奖励活动。

节日活动

在国庆期间通过副本经验200%,通关巢穴获得什么

充值活动

在某日到某日充值,送。。。

消费活动

在某日到某日在商城购买抽奖券送。。。

游戏服务器活动模块实现

配置表设计

  • 活动表:活动类型+活动时间类型+活动列表(元素为活动奖励表中的id)+活动描述+开始时间+结束时间+额外数据(活动参与条件)

  • 活动(子项)奖励表:活动id+奖励达成条件+奖励+活动描述+额外数据

定义活动基类
活动基类
成员:
protected
活动类型 :时间类型
活动项:{id,活动类型,活动时间表,宣告id,时间长度,时间信息}
活动id 实例id(唯一性)
public
活动开启时间
活动结束时间

流程

1
2
3
4
5
6
st=>start: 项目Export 
e=>end: 结束
op1=>operation: 选择java下的javadoc
op2=>operation: 选择要导出的工程
op3=>operation: java doc的配置设置
st->op1->op2->op3->e

数据库设计

代码设计

活动基类
类名:ActivityBase
成员:活动类型、活动实例id,活动奖励数据,活动开启时间、结束时间、活动状态、附加数据
接口:
内部:
通用虚函数:活动开启、活动结束、激活活动、领取活动奖励、格式化活动数据
特殊虚函数:在线活动时间统计,邀请好友活动人数统计,副本通关统计等
活动管理器类
成员:活动列表
接口:
非虚:加载所有活动,玩家登陆、登出
玩家活动数据类:
函数:玩家活动数据加载,保存,更新,删除

外部cmd
– 通用接口

玩家登陆
玩家登出

激活指定类型活动(大类型)(当前默认条件是时间,也有可能是其它)
激活某类型当中子活动(条件值,当前int行,需扩展)
领取活动奖励
– 后台活动,获取后台活动玩家信息

方法
public

虚 活动开启
虚 活动结束

触发达成活动(事件影响活动奖励领取状态)
领取活动奖励
通知活动结束
获取活动类型
获取活动项
获取活动id

活动管理类
成员:
private
活动管理单例实例
活动容器

方法
public
定时器检测(活动创建与关闭)
销毁活动(活动列表删除活动)

private
创建活动(tempid)
public
玩家加入活动(玩家信息,活动id)
通知wordboss开启

基础

基础

基础

基础

基础

总结

任务状态

  • 无效 INVALID
  • 任务已完成 COMPLETE
  • 任务正在进行中 RUNNING
  • 准备可以执行任务 VIABLE

任务管理

容器 任务列表

基础

总结

任务状态

  • 无效 INVALID
  • 任务已完成 COMPLETE
  • 任务正在进行中 RUNNING
  • 准备可以执行任务 VIABLE

任务管理

容器 任务列表

基础

基础

基础

基础

基础