看板 GameDesign 關於我們 聯絡資訊
現在正在練習寫一個realtime的MMORPG server端帳號資料和遊戲物件使用MySQL來儲存 為了即時的需求使用UDP來傳送指令 由於完全沒有設計過這種MMORPG 又不好意思直接發問請教怎樣設計 所以我自己想了如下一個情境 請有設計過MMORPG的前輩指教使否可行 =========================================== 遊戲世界中的物件皆儲存在server記憶體中 1.client登入時送username/password給server 2.server收到帳密後到DB的user表中找有無使用者資訊 3.若找到則回傳一個token並在server記憶體登入這玩家 4.之後client都只傳這個token和指令(不用傳帳密) 5.server收到tokent和指令後去更新記憶體中玩家資訊(不動DB) 6.server定時檢查記憶體中的玩家 每隔一段時間回存到DB ============================================ 這樣設計的目的是不要每個封包都包含帳號資訊 而且可以減低資料庫存取頻率 我server用Java non-blocking udp socket寫 由於遊戲本身不複雜預計能負載千人在線 想請問這個設計會不會遇上什麼問題? 或是有沒有標準的一套MMORPG設計情境可參考? 謝謝各位前輩 -- 約翰高爾特是誰? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 98.156.103.209
fasthall:剛剛又想到 可是這樣只要有人偽造token就能破解了...... 07/21 11:08
NightDream08:token寫一個加密蓋上去用自己的格式讀? 07/22 00:38
NightDream08:啊不對,當我沒說(炸 07/22 00:43
fasthall:樓上ID好眼熟XD 07/22 01:59
fasthall:想了想 如果指令不加密 只能在登入的時候給個session id 07/22 01:59
fasthall:來讓每次登入都能用不同id防止hacker偽造封包了 07/22 02:00
justben:帳密傳遞的時候不加密 hacker直接攔下來讀不就得了? @@ 07/22 03:44
Hevak:session id更方便搶劫吧,你看看免費空間的cookie.... 07/22 10:57
fasthall:那請問有不加密的辦法嗎 伺服器要解密的話挺耗資源的 07/22 11:26
fasthall:有人說session id+client address/port這樣OK嗎 07/22 11:32
cowbaying:SSL 07/22 12:47
cowbaying:現在電腦夠快 加解密也只是幾百奈秒的事情 07/22 12:49
cowbaying:RSA AES也都可以 都有套件可以幫你處理資料加密的事情 07/22 12:52
cowbaying:抱歉 SSL是HTTP通訊協定在用的 SHA也不錯 07/22 13:00
Hevak:RSA/AES是加密,SHA是雜湊驗算.... 07/22 14:05
Hevak:SSL是協議,其下可以使用很多種算法... 07/22 14:06
enthos:可以參考 http://blog.codingnow.com/ 云風的BLOG 07/22 23:23
LaPass:問你的pm = = 07/22 23:38
LaPass:等等... 練習? 是學生喔..... 07/22 23:38
fasthall:我是研究生 這是練習 跟我職業無關 有問題嗎? 09/16 15:49