• 沒有找到結果。

遊戲情境

在文檔中 中華大學 碩士論文 (頁 54-57)

第四章 系統架構設計之分析

4.2 混合 Client-Server 與 P2P 的遊戲架構

4.2.4 遊戲情境

___________________________________________________________________________________

Master Server

Local Game Server 1. 當Server 1負擔太大,

會向Master Server要求分 割,並從下線清單中,找

一台Server啟動

2. 新的 Server作登錄,

Master Server給予新的 Server一個ID,並分配給

予的地圖

0

1

1

2

2 1

1

圖 十五、地圖分割示意圖 iii 地圖合併:

如果當玩家逐漸離開某一個 Local Game Server 的管理區域,最後已 經沒有玩家在此塊子地圖進行遊戲時,此時 Local Game Server 會通知 Master Server 進行地圖合併,Master Server 會將此 Local Game Server 所負責的子地圖交由給同層的一個 Local Game Server 來管理,而 4 塊子 地圖也變成一塊較大的地圖,如此可以進行節點的縮減,減少不必要 Local Game Server 服務的數量。

___________________________________________________________________________________

送至 Local Game Server,等待 Client 連線進去之後才能進行遊戲。當玩 家要離開遊戲下線時,Local Game Server 和 Client 端都會將此玩家的帳 號及資料回傳給 Master Server,而 Master Server 這時必須做資料正確 性的確認,藉由比對 Local Game Server 和 Client 端兩邊的玩家資料內容,

來判斷是否資料經過玩家竄改或是作弊,避免遊戲失去了公平性。如果確 定兩邊的玩家資料內容無誤,就會將玩家資料存入資料庫中,然後結束遊 戲。

ii 玩家正常退出遊戲

當玩家要離開遊戲下線時,Local Game Server 和 Client 端都會將此 玩家的帳號及資料回傳給 Master Server,而 Master Server 這時必須做 資料正確性的確認,藉由比對 Local Game Server 和 Client 端兩邊的玩家 資料內容,來判斷是否資料經過玩家竄改或是作弊,避免遊戲失去了公平 性。如果確定兩邊的玩家資料內容無誤,就會將玩家資料存入資料庫中,

然後結束遊戲。

iii Servers 間的換手

由於地圖是不同的 Local Game Servers 所管理,當玩家從地圖的某一 點 A 移動到另一點 B 時,則 Client 端必須轉換到另一個 Local Game Server,此時 A 點的 Local Game Server 會向 Master Server 查詢 B 點的 的 Local Game Server IP 位置,然後將玩家的帳號及資料傳送到 B 點的 Local Game Server,將連線轉移過去來完成 Server 之間換手的動作。

iv 玩家不正常退出

如果玩家有不正常退出的情形發生,Local Game Server 會向 Master Server 報告,而可能的原因有兩個,其敘述如下:

z 如果 Client 有向 Master Server 報告其無法與此台 Local Game Server 連線,Master Server 便可確定 Client 並沒有不正常退出,

表示 Client 與 Local Game Server 之間的網路連線發生問題,而 通知 Client 選擇其他 Local Game Server 負責的區域繼續進行遊

_______________________________________________________________________________ 43

___________________________________________________________________________________

戲。

z 如果 Client 沒有向 Master Server 報告其無法與此台 Local Game Server 連線,則 Master Server 會視為此 Client 已離線,並通知 Local Game Server 回傳此 Client 的遊戲狀態加以儲存。

v Local Game Server 不正常退出

如果 Local Game Server 有不正常退出的情形發生,原本與其連線的 Clients 會通知 Master Server,而 Master Server 會嘗試與斷線的 Local Game Server 連線,若還是無法連線,則 Master Server 會在與其連線的 Clients 或其下線之中選出接替的 Local Game Server,而每一個 Game Client 的遊戲狀態會以儲存在各個 Game Client 本機的資料為準,並傳送 到新的 Local Game Server 讓遊戲繼續進行。

此外關於資料正確性的確認,為了避免玩家作弊加以修改參數資料,使得遊 戲失去公平性,所以當玩家要離開下線退出遊戲時,Local Game Server 和 Game Client 端會將此玩家的帳號及資料回傳給 Master Server,而 Master Server 這時必須做資料正確性的確認,藉由比對 Local Game Server 和 Game Client 端兩邊的玩家資料內容,來判斷資料是否經過玩家竄改或是作弊,所以在更新資 料庫之前,Master Server 會先做資料正確性的判斷,如果確定兩邊的玩家資料 內容無誤,才會將玩家資料存入資料庫中。

_______________________________________________________________________________ 44

___________________________________________________________________________________

5

在文檔中 中華大學 碩士論文 (頁 54-57)