我目前正在使用Java服務器端和as3客戶端。我想知道是否有一顆銀色子彈用於同步它們之間的時鐘。在可變延遲和可變時鐘速度之間,似乎每個數據包都需要一個時間戳。在遊戲(MMORPG)客戶端和服務器之間同步時間/事件?
謝謝!
我目前正在使用Java服務器端和as3客戶端。我想知道是否有一顆銀色子彈用於同步它們之間的時鐘。在可變延遲和可變時鐘速度之間,似乎每個數據包都需要一個時間戳。在遊戲(MMORPG)客戶端和服務器之間同步時間/事件?
謝謝!
不,沒有銀彈。你必須即興創作。時間戳是個好主意。 此外,儘量保持在服務器上完成的計算的最小化。不要模擬不相關的東西。只是你認爲會破壞你的遊戲邏輯的東西。讓客戶計算剩下的東西,只將結果廣播給你的用戶。
這只是我的頭頂,沒有任何代碼。
設置客戶端的時間的時候,我不知道這是否能夠準確工作100%,但我希望這有助於!
是的,我認爲,這是正確的方法。從概念上講,您必須在每個客戶端以及服務器上存儲時間戳。並通過了解時間偏移來調整每個人的時間。 – 2012-04-30 04:09:02
NTP或其變體? – Thomas 2012-04-06 04:29:06
@Thomas這對系統時代很有用 - 但這更多的是事件同步和延遲問題,並避免客戶端欺騙或渲染[不可信]的不準確信息等。 – 2012-04-06 04:51:45
在服務器端和客戶端進行建模。將客戶端輸入限制爲鼠標和鍵盤的輸入。你無法100%準確的時間,將不得不作出估計和逐步糾正行動。 – dqhendricks 2012-04-06 05:02:40