摘要:Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身 份进入系 统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保 护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:· 用户账号的添加、删除与修改。· 用户口令的管理。· 用户组的管理。一、Linux系统用户账号的管理用户账
阅读全文
摘要:过程一览1、載入 BIOS 的硬體資訊與進行自我測試,並依據設定取得第一個可開機的裝置;2、讀取並執行第一個開機裝置內 MBR 的 boot Loader (亦即是 grub, spfdisk 等程式);3、依據 boot loader 的設定載入 Kernel ,Kernel 會開始偵測硬體與載入驅動程式;4、在硬體驅動成功後,Kernel 會主動呼叫 init 程式,而 init 會取得 run-level 資訊;5、init 執行 /etc/rc.d/rc.sysinit 檔案來準備軟體執行的作業環境 (如網路、時區等);6、init 執行 run-level 的各個服務之啟動 (scr
阅读全文
摘要:一、Lua脚本功能接口1. LuaInterface.h/.cpp声明和实现LuaInterface。LuaInterface成员如下://脚本引擎FoxLuaScript mLua ;//注册器LuaCFuncRegister mFuncRegister;//场景关联Scene* mOwner;//已经读取的脚本表IDTable m_ScriptTable ;主要方法:VOID Init(Scene* pScene);//完成Lua脚本环境的初始化和C导出函数的注册Scene* GetOwner();执行Lua脚本的C++接口,提供多达8个参数支持。INT ExeScript( Script
阅读全文
摘要:1016:文件无法打开,使用后台修复或者使用phpmyadmin进行修复。1044:数据库用户权限不足,请联系空间商解决1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。1054:程序文件跟数据库有冲突,请使用正确的程序文件上传上去覆盖。1146:数据表缺失,请恢复备份数据。2002:服务器端口不对,请咨询空间商正确的端口。2003:mysql服务没有启动,请启动该服务1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录
阅读全文
摘要:.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gz
阅读全文
摘要:引言:大家在管理Windows Server 2003 服务器的时候,进行远程桌面连接,当输入完账号密码,点确定之后弹出一个提示框“终端服务器超出了最大允许连接数”。 原因:服务器默认情况下,最多只能登录2个链接会话,而且登录远程桌面之后如果没有采用注销的方式退出而是直接关闭远程桌面窗口,实际上远程会话没有释放,继续占用总连接数,当链接数超过最大允许值时就会出现上面提示。 解决方法: 1、如果是用Windows Xp、Windows Xp SP1、Windows Xp SP2、Windows Server 2003系统进行远程桌面连接,请看下面操作: 开始-运行,然后输入 mstsc /con
阅读全文
摘要:由于7z文件的高压缩很多下载网站使用了7z格式文件,但iis中却不想rar那样可以直接下载,所以需要我们设置下,这样就可以iis中下载7z格式文件了7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件扩展名:.7z,可目前windows服务器无法支持.7z格式下载,所以我们需要设置一下。 这样iis就支持7z格式文件下载了。win2003的IIS6默认是不
阅读全文
摘要:shell中可能经常能看到:>/dev/null 2>&1命令的结果可以通过%>的形式来定义输出/dev/null 代表空设备文件> 代表重定向到哪里,例如:echo "123" > /home/123.txt1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1那么本文标题的语句: 1>/dev/null 首先表示标准
阅读全文
摘要:从字面上看,Billing是计费的,应该处理玩家在线时间或者包月之类。但是天龙八部是免费游戏,不需要算时间来计费。从代码中 看,BillingServer也比较简单,它有一个连接到Web服务器,并监听一个端口,接受一些客户端的连接。从该服务器处理的协议包上 看,BillingServer接受LoginServer和WorldServer的连接。BillingServer处理的主要协议包有://世界数据服务器通知游戏服务器和登陆服务器场景中的人数信息class SSScenePlayerCountHandler//Login 请求BillingSystem验证class LBAskAuthHan
阅读全文
摘要:一、服务器构架一个天龙八部游戏区,主要服务器部署情况如下图所示:实 际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、 CharacterDB、BillingServer有连接。WorldServer和各个GameServer有连接。ShareMemory和 CharacterDB有连接。一台物理机器上,会启动一个ShareMemory进程和一个服务器进程,服务器进程有世界服务器和游戏服务器。天龙八部的世界是ZoneBase的,一个游戏服务器服务启动多个线程,每个线程服务若干个场景。在ShareMemory进程
阅读全文
摘要:1.首先在c++源码中添加需要注册到Lua的函数INT LuaFnSetTimer(Lua_State* L){LUA_ENTER_FUNCTIONSceneID_t sceneId = Lua_ValueToNumber(L,1);ObjID_t selfId = Lua_ValueToNumber(L,2);ScriptID_t scriptId = Lua_ValueToNumber(L,3);const CHAR* funcName = Lua_ValueToString(L,4);INT tickTime = Lua_ValueToNumber(L,5);BEGINHUMANDEFI
阅读全文
摘要:游戏服务器的设计是一项颇有挑战性的工作,游戏服务器的发展也由以前的单服结构转变为多服机构,甚至出现了bigworld引擎的分布式解决方案,最近了解到Unreal的服务器解决方案atlas也是基于集群的方式。负载均衡是一个很复杂的课题,这里暂不谈bigworld和atlas的这类服务器的设计,更多的是基于功能和场景划分服务器结构。首先说一下思路,服务器划分基于以下原则:1:分离游戏中占用系统资源(cpu,内存,IO等)较多的功能,独立成服务器2:在同一服务器架构下的不同游戏,应尽可能的复用某些服务器(进程级别的复用)3:以多线程并发的编程方式适应多核处理器。4:宁可在服务器之间多复制数据,也要保
阅读全文
摘要:1 登录状态定义//登录状态enum PLAYER_LOGIN_STATUS{LOGIN_DEBUG_SETTING, //!GetAs_Int(“GameServer_ConnectDirect”) == 1){//直接切换到Change-Server流程CGameProcedure::SetActiveProc((CGameProcedure*)CGameProcedure::s_pProcChangeScene);return;}//— for debugbreak;}case LOGIN_DISCONNECT:{s_pGfxSystem->PushDebugStr...
阅读全文
摘要:VariableSystem是天龙的全局变量系统,使用的最大好处除了可以统一保存在文件中外,还可以统一管理全局变量,防止全局变量满天非的问题。实现方式:一变量定义structVARIABLE{STRINGvValue;//变量值BOOLbTemp;//临时变量};#ifdef__SGI_STL_PORTtypedefstd::hash_mapVARIABLE_MAP;#elsetypedefstdext::hash_mapVARIABLE_MAP;#endif可见变量是放在hash里面的,这样可以加快查找二 变量保存//当前保存的变量VARIABLE_MAPm_mapCurrent;//游戏退
阅读全文
摘要:一 角色选择流程开始可能的一种情况是,客户端接到服务器发送的包(LCRetCharList)开始的,这个包里面有玩家角色的个数等信息UINT LCRetCharListHandler::Execute(LCRetCharList* pPacket, Player* pPlayer ){__ENTER_FUNCTIONif(pPacket&&(pPacket->GetResult() == ASKCHARLIST_SUCCESS)){int iCharacterCount = pPacket->GetCharNumber();// 保存角色的个数CGameProced
阅读全文
摘要:天龙八部(武侠世界)的源码很可能是天龙八部代码流出后改写的,因为在看了代码中可以找到一些证据,整个客户端分为:一个是编辑器,一个是客户端,采用OGRE+cegui+自写的简单的物理碰撞检测+FMOD+自写的网络库。服务器端代码目前没仔细关注客户端总体的描述如下:UI系统 CEGUI UI基础系统CEGUI渲染器Expat XML解析器 CEGUI依赖,估计编写者不喜欢用FreeType2 跨平台、开源的字体渲染器 用于绘制中文脚本 luaPlus3D显示引擎Ogre开源的高效渲染引擎 最新的OGRE是1.7.2碰撞检测 Opcode 开源,占用内存少 其他可考虑使用bullet,ODE或者其他
阅读全文