• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一)

            本文小弟淺談,新手看,老手拍磚,轉(zhuǎn)載請(qǐng)注明出處http://www.shnenglu.com/ziyebuboka/

                游戲服務(wù)器在網(wǎng)游上的作用不容考慮,游戲能做大到什么程度,還是有很大的依靠的,這篇文章先從功能模塊的角度來(lái)談一個(gè)完善的游戲服務(wù)器需要實(shí)現(xiàn)哪。
                一:游戲服務(wù)器的作用:連接各個(gè)網(wǎng)游客戶端,實(shí)現(xiàn)各客戶端的通信,連接,數(shù)據(jù)操作
                二:先從大分類上來(lái):游戲服務(wù)器按一般架構(gòu)來(lái)說(shuō)具備1
                        1:登陸驗(yàn)證注冊(cè)和賬號(hào)有關(guān)的所有操作的服務(wù)器  我們簡(jiǎn)稱他為registerserver
                        2:游戲邏輯操作服務(wù)器 我們簡(jiǎn)稱他為gameserver
                        不用細(xì)說(shuō)大家也明白了,說(shuō)一個(gè)玩家登陸進(jìn)入游戲世界的流程:玩家打開(kāi)游戲客戶端(這之前會(huì)有更新操作,不過(guò)這只是連接更新服務(wù)器的一個(gè)文件比對(duì)和下載過(guò)程,我們不將他列為游戲服務(wù)器之內(nèi))說(shuō)到這里朋友會(huì)發(fā)現(xiàn)游戲登陸上目前有兩大類,一類是先選服務(wù)器后輸入賬號(hào) 一類是先輸入賬號(hào)后選服務(wù)器,這里說(shuō)下區(qū)別
            先選服務(wù)器后輸入賬號(hào)的一般來(lái)說(shuō)都是將registerserver和gameserver配對(duì),就是你先選擇服務(wù)器,而后你連接上的就是此服務(wù)器的registerserver,通過(guò)此registerserver來(lái)進(jìn)行賬號(hào)驗(yàn)證等等。另一類先輸入賬號(hào)的,無(wú)非是先制定一個(gè)中心registerserver(或者是隨機(jī)一個(gè),因?yàn)閞egister有時(shí)候會(huì)弄好多個(gè)由運(yùn)維配置來(lái)做動(dòng)態(tài)均衡),賬號(hào)驗(yàn)證成功后再顯示服務(wù)器列表,然后玩家選擇了服務(wù)器后,則從指定服registerserver去數(shù)據(jù)庫(kù)查詢玩家此服的角色列表(當(dāng)然了,這里如果非有人的服務(wù)器是做成查詢角色列表就從gameserver走的流程,我也沒(méi)意見(jiàn))。返回后,客戶端進(jìn)入角色選擇界面,客戶端與registerserver斷鏈,玩家選擇角色,與gameserver連接,去數(shù)據(jù)庫(kù)提取角色,注冊(cè)進(jìn)入游戲服游戲世界,反饋角色信息給客戶端,客戶端進(jìn)入游戲世界。然后消息發(fā)送過(guò)來(lái)發(fā)送過(guò)去的開(kāi)始了。。。。。。
                        上面說(shuō)的是針對(duì)一個(gè)普通的一對(duì)一架構(gòu)的服務(wù)器所有的一個(gè)登陸流程,看到這里,朋友們應(yīng)該對(duì)registerserver和gameserver的基本功能有所了解了。一個(gè)是登陸驗(yàn)證用(垃圾點(diǎn)的小公司沒(méi)有注冊(cè)賬號(hào)的主頁(yè)的話也會(huì)通過(guò)這個(gè)在游戲里直接注冊(cè)賬號(hào)。。。)到登陸進(jìn)入游戲世界的過(guò)程。
                         再稍微高級(jí)點(diǎn)的就是加個(gè)聊天服務(wù)器了,因?yàn)榱奶爝@個(gè)功能實(shí)在是太耗性能了,特別那啥的那公聊,你發(fā)個(gè)一句,服務(wù)器得有多少人就發(fā)多少回。。。
             打個(gè)比方你發(fā)一句話 50個(gè)字那就是100 一個(gè)服有那么個(gè)幾K人的話,就打比方5K人 一句話發(fā)送就得是一個(gè)全服人口大FOR循環(huán),網(wǎng)絡(luò)還得消耗掉5000*100字節(jié)
            所以你看各游戲公聊國(guó)聊那啥的都時(shí)間限制要不就收費(fèi),他扛不住啊。
                         所以這個(gè)地方就出來(lái)個(gè)性能優(yōu)化方案了,加個(gè)聊天服務(wù)器,也就是玩家在登陸成功與gameserver連接成功的同時(shí)要與聊天服務(wù)器連接成功,聊天服務(wù)器有個(gè)全服在線角色表,一個(gè)大FOR循環(huán)和那啥的5000*100就讓他來(lái)發(fā)吧,至少對(duì)gameserver沒(méi)影響了。
                         好了,一個(gè)普通服務(wù)器的基本介紹就說(shuō)到這里,讀者也應(yīng)該有個(gè)基本了解了,具體架構(gòu)上的就不細(xì)說(shuō)了,趕明換個(gè)帖子發(fā)。這里還是接標(biāo)題從功能上來(lái)分析服務(wù)器。
                        這里就只分析游戲服務(wù)器了,registerserver就不考慮了。
                        一個(gè)游戲服務(wù)器他的作用在與,所有的游戲數(shù)據(jù)操作都將在這里完成,我們將只將客戶端作為顯示和一個(gè)數(shù)據(jù)的完善緩存。一切的操作都必須在游戲服務(wù)器的驗(yàn)證之后才能完成。
                       功能模塊分類(本人之間,有多余或遺漏的,歡迎補(bǔ)充):
                          1:腳本模塊
                          2:屬性模塊
                          3:網(wǎng)絡(luò)模塊
                          4:數(shù)據(jù)庫(kù)模塊
                          5:日志模塊
            以上所列的為一個(gè)完善的游戲服務(wù)器所必須實(shí)現(xiàn)的功能 下面一一來(lái)說(shuō)
            1:腳本模塊
                  沒(méi)有腳本模塊,腳本策劃就得喝西北風(fēng),LUA首選很不錯(cuò)。
                  具體LUA的學(xué)習(xí),推薦LUA程序設(shè)計(jì),這玩意不用深究,會(huì)即可。
                  程序員要寫(xiě)好幾個(gè)CPP,完成的功能是---》在C++中任意的調(diào)用LUA函數(shù)(或是執(zhí)行一個(gè)LUA文件),在LUA中任意調(diào)用你提供給腳本策劃的C++函數(shù)接口,如此功能實(shí)現(xiàn)后,哈哈,程序員們,你們的工作負(fù)擔(dān)就輕了,很大一部分的邏輯編程將交給策劃們?nèi)ネ瓿闪?br>     舉例:程序?qū)崿F(xiàn)一個(gè)接口例如 say(LPCSTR szSay)  ,則策劃可調(diào)用此接口 function  mySay()  say("歡迎來(lái)到游戲世界") end,就可
                可用到的地方:具體物品的使用邏輯,特殊任務(wù)的邏輯,活動(dòng)邏輯,特殊NPC邏輯等等等等,只要你愿意,跑步都可用LUA來(lái)
                 比如C++里可實(shí)現(xiàn)一籃子接口:AddItem 增加個(gè)物品  ChangeMap 跳地圖 甚至是AddLevel等等 而由LUA調(diào)用此類接口,而后就是C++里做些操作,比如玩家點(diǎn)擊物品就是調(diào)用相應(yīng)物品的腳本:例:點(diǎn)擊 血瓶 調(diào)用 LUA 的血瓶腳本,執(zhí)行LUA函數(shù)調(diào)用AddHp
                 腳本模塊很重要,可極大的方便工作,還有調(diào)試和維護(hù),因?yàn)樾薷哪_本,服務(wù)器是不用重編譯的,則意味著可在調(diào)試中隨意修改,甚至可在運(yùn)營(yíng)過(guò)程中隨意修改某物品功能 某任務(wù) 某活動(dòng)。。。,只需C++到LUA,把這個(gè)LUA函數(shù)RELOAD下即可
                 具體的游戲應(yīng)用腳本的例子 大家網(wǎng)上找找吧 一坨子開(kāi)源的。
            2:屬性模塊:呵呵,不知道我取這個(gè)名字OK不OK,我也覺(jué)得不是很合適,大家又更好的命名沒(méi)?
                 NPC的基本屬性配置,物品的基本屬性配置,叫屬性配置可能更合適點(diǎn),意思就是你要提供一個(gè)模塊供策劃可填入各個(gè)屬性配置,甚至是GUI的配置又或者是任務(wù)配置。對(duì)于這個(gè),我推薦使用EXCEL表格。
                例如:NPC的表格至少包括  NPC名字  模型編號(hào)   血量    藍(lán)量   移動(dòng)速度    AI  等等,而后有策劃往里面隨意填配置 這里比如AI就是一個(gè)對(duì)應(yīng)的腳本文件
                 這個(gè)讀取表格由程序員實(shí)現(xiàn),功能是要求要自由化,不然的話 策劃加一條 你咋辦,不至于從讀取開(kāi)始你的代碼都得改吧,肯定能做到直接在NPCPROPERTY結(jié)構(gòu)體里直接加一條和表格新加的對(duì)應(yīng)就OK了。
               如果OK得話,最好再提供個(gè)編輯工具給策劃,任務(wù)的相同模式也可由此來(lái)實(shí)現(xiàn):任務(wù)描述  任務(wù)要求 對(duì)話1  對(duì)話2  對(duì)話3  獎(jiǎng)勵(lì)1 獎(jiǎng)勵(lì)2 獎(jiǎng)勵(lì)3
               物品:物品名字 模型編號(hào) 職業(yè)   等級(jí)   攻擊  腳本 
               不然你總不至于傻到認(rèn)為這些都是寫(xiě)代碼里的吧。也可能有人想使用XML  隨便了 不過(guò)我這里不想用XML 為啥  EXCEL清晰啊 就一行條目
                這個(gè)模塊是數(shù)值策劃 任務(wù)策劃的天下
            3:網(wǎng)絡(luò)模快:這個(gè)沒(méi)啥好說(shuō)的  一個(gè)基本功能,游戲世界都是在這之上也能成型,做好鏈接維護(hù),收發(fā)消息
            4:數(shù)據(jù)庫(kù)模塊:對(duì)數(shù)據(jù)的保存 其實(shí)這里我熱衷于使用工廠模式,本地調(diào)試服務(wù)器具體邏輯用本地文檔方式,上測(cè)試服上外網(wǎng)則用數(shù)據(jù)庫(kù),所以這里叫數(shù)據(jù)操作模塊比較妥當(dāng)點(diǎn),就是玩家保存數(shù)據(jù),保存幫派啦 等等世界信息的具體操作,這個(gè)很重要
            5:日志模塊:我將此日志模塊分為兩大類,一類是游戲服務(wù)器調(diào)試維護(hù)用日志,一類是游戲運(yùn)營(yíng)用日志,可選擇使用本地文檔或是數(shù)據(jù)庫(kù)模式記錄
                調(diào)試維護(hù)日志沒(méi)啥好說(shuō)的,運(yùn)營(yíng)日志說(shuō)說(shuō),是給客服提供的,誰(shuí)消費(fèi)了什么 交易流向 物品流向 等等的記錄 GM操作的記錄等等 比如萬(wàn)一某玩家裝備被盜了,則可通過(guò)此來(lái)證明。

            兩點(diǎn)了,寫(xiě)不下去了,標(biāo)記個(gè)一 明天來(lái)寫(xiě)二,看哪里寫(xiě)的不對(duì)的說(shuō)下,我改正,明天再擴(kuò)充的寫(xiě)下,然后游戲世界的操作
            http://www.shnenglu.com/ziyebuboka/




            posted on 2009-12-30 02:05 ziyebuboka 閱讀(2987) 評(píng)論(9)  編輯 收藏 引用 所屬分類: 游戲服務(wù)器

            評(píng)論

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 12:00 ziyebuboka

            昨晚還漏了模塊,晚上在2里補(bǔ)  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 12:05 santhtony

            辛苦 支持  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 13:13 blocker

            比如C++里可實(shí)現(xiàn)一"籃子"接口,我承認(rèn)我想歪了..  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 13:18 blocker

            繼續(xù)!等下一篇  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 20:05 ziyebuboka

            "籃子"。。。。。。。。。。剛才讀樓上評(píng)論歪音了  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一)[未登錄](méi) 2009-12-30 20:20 xu

            做過(guò)游戲服務(wù)器的其實(shí)都知道這么回事  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2009-12-30 21:41 ziyebuboka

            拍磚就好 本來(lái)就是新手看啦  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一)[未登錄](méi) 2009-12-31 12:54 true

            支持下分享  回復(fù)  更多評(píng)論   

            # re: 淺談?dòng)螒蚍?wù)器-》功能模塊上來(lái)看(一) 2010-01-04 12:51 ziyebuboka

            謝謝支持。力求最淺的表達(dá)出所應(yīng)了解度  回復(fù)  更多評(píng)論   

            導(dǎo)航

            <2009年12月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            統(tǒng)計(jì)

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            日日狠狠久久偷偷色综合免费 | 精品无码久久久久久久动漫| 久久久久久久久久久久久久| 国产精品gz久久久| 久久精品中文字幕久久| 久久电影网2021| 久久99国产精品久久久| 狠狠色丁香婷综合久久| 国产国产成人精品久久| 久久综合久久综合久久| 99久久久久| 国产精品99久久久久久董美香| 国产精品美女久久久久AV福利| 国产成人精品久久亚洲| 久久久无码精品午夜| 精品久久久无码中文字幕 | a级毛片无码兔费真人久久| 国产精品久久久久影院嫩草| 久久精品视频网| 精品久久久久久无码中文野结衣| 国内精品伊人久久久久网站| 久久天天日天天操综合伊人av| 亚洲国产精品无码久久九九 | 国产精品99久久久久久www| 狠狠久久综合| 一本色综合网久久| 久久r热这里有精品视频| 久久亚洲电影| 国产69精品久久久久777| 久久一本综合| 亚洲国产精品无码久久SM| 2021精品国产综合久久| 久久精品不卡| 欧美黑人又粗又大久久久| 精品久久一区二区| 久久久久久曰本AV免费免费| 久久福利青草精品资源站| 久久久久久久久66精品片| 日本道色综合久久影院| 久久精品中文字幕大胸| 久久伊人精品青青草原高清|