微信h5牛牛房間開卡 架設教程
類型1:卡牌、跑酷等弱交互服務端
卡牌跑酷類因為交互弱,玩家和玩家之間不需要實時面對面PK,打一下對方的離線數據,計算下排行榜,買賣下道具即可,所以實現往往使用簡單的 HTTP服務器:
登錄時可以使用非對稱加密(RSA, DH),服務器根據客戶端uid,當前時間戳還有服務端私鑰(微信h5牛牛房間開卡 架設教程 q-2152876294),計算哈希得到的加密 key 並發送給客戶端。之後雙方都用 HTTP通信,並用那個key進行RC4加密。客戶端收到key和時間戳後保存在內存,用於之後通信,服務端不需要保存 key,因為每次都可以根據客戶端傳上來的 uid 和 時間戳 以及服務端自己的私鑰計算得到。用模仿 TLS的行為,來保證多次 HTTP請求間的客戶端身份,並通過時間戳保證同一人兩次登錄密鑰不同。
每局開始時,訪問一下,請求一下關卡數據,玩完了又提交一下,驗算一下是否合法,獲得什麽獎勵,數據庫用單臺 MySQL或者 MongoDB即可,後端的 Redis做緩存(可選)。如果要實現通知,那麽讓客戶端定時15秒輪詢一下服務器,如果有消息就取下來,如果沒消息可以逐步放長輪詢時間,比如30秒;如果有消息,就縮短輪詢時間到10秒,5秒,即便兩人聊天,延遲也能自適應。
此類服務器用來實現一款三國類策略或者卡牌及酷跑的遊戲已經綽綽有余,這類遊戲因為邏輯簡單,玩家之間交互不強,使用 HTTP來開發的話,開發速度快,調試只需要一個瀏覽器就可以把邏輯調試清楚了。
類型2:第一代遊戲服務器 1978
1978年,英國著名的財經學校University of Essex的學生 Roy Trubshaw編寫了世界上第一個MUD程序《MUD1》,在University of Essex於1980年接入 ARPANET之後加入了不少外部的玩家,甚至包括國外的玩家。《MUD1》程序的源代碼在 ARPANET共享之後出現了眾多的改編版本,至此MUD才在全世界廣泛流行起來。不斷完善的 MUD1的基礎上產生了開源的 MudOS(1991),成為眾多網遊的鼻祖:
MUDOS采用 C語言開發,因為玩家和玩家之間有比較強的交互(聊天,交易,PK),MUDOS使用單線程無阻塞套接字來服務所有玩家,所有玩家的請求都發到同一個線程去處理,主線程每隔1秒鐘更新一次所有對象(網絡收發,更新對象狀態機,處理超時,刷新地圖,刷新NPC)。
最終效果圖:
微信h5牛牛房間開卡 架設教程