Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MMORPG Server
Search
Buzzvil
December 01, 2021
Programming
490
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MMORPG Server
By Alan
Buzzvil
December 01, 2021
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
650
Git 해부하기 2 + 3
buzzvil
0
68
Metastable Failure
buzzvil
0
360
Git 해부하기
buzzvil
0
85
Introduction to Plate Solving
buzzvil
0
76
Airbnb Minerva
buzzvil
0
520
Shape up 방법론
buzzvil
0
1.1k
Buzzvil Billing Data Pipeline
buzzvil
0
730
Journey of Dash's release-cycle
buzzvil
0
280
Other Decks in Programming
See All in Programming
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
230
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
420
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
430
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
140
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
250
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
270
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.6k
1B+ /day規模のログを管理する技術
broadleaf
0
120
スマートグラスで並列バイブコーディング
hyshu
0
270
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
160
Featured
See All Featured
Building an army of robots
kneath
306
46k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Raft: Consensus for Rubyists
vanstee
141
7.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
650
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
250
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
250
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
330
Transcript
MMORPG Server Massively Multi-player Online Role-Playing Games
Game Server 의 종류 - Simple servier Account / Rank
/ Store / Reward
Game Server 의 종류 - Simple servier exports.createAccount = function(req,
res) { User.createAccount(req.body.deviceId, req.body.id, req.body.pw, function(err, session) { return common.sendJson(res, {'sessionKey': session.key}); }); }; exports.login = function(req, res) ...생략… exports.submitScore = function(req, res) ...생략… exports.getRankings = function(req, res) ...생략… exports.getProducts = function(req, res) ...생략…
Game Server 의 종류 - Realtime network (P2P/Central)
Game Server 의 종류 - Realtime network (P2P/Central) Command Packet의
예시 출처
Game Server 의 종류 - Realtime network (P2P/Central) Command를 Frame
번호와 함께 서버로 전송 출처 Server
Game Server 의 종류 - Realtime network (P2P/Central) 출처: Authority
Distribution in a Proxy-Based Massively Multiplayer Game Architecture Justin F. Christofoli
Game Server 의 종류 - Realtime network (P2P/Central)
Game Server 의 종류 - Realtime network (P2P/Central) 출처 Host
* Lobby server 는 central server
Game Server 의 종류 - Realtime network (P2P/Central) // TCP
소켓 사용 / Packet 단위 처리 // GameSession.java // 10 ticks / second public void read(Buffer rbuff) { Packet inpkt; while ((inpkt = receivePacket(rbuff)) != null) { processProtocols(inpkt); } } public void processProtocols(Packet packet) throws Throwable { int opCode=packet.buffer().getShort(); switch (opCode) { case OP_COMMAND: processCommand(packet); Break; … 생략 … } } private void processCommand(Packet packet) { gameFrame=match.getFrame(); if (packet.hasRemaining()) { match.putCommand(this, packet); } }
Game Server 의 종류 - MMORPG
Game Server 의 종류 - MMORPG 출처
Game Server 의 종류 - MMORPG 월드맵 <Segment matrix> ..
Linked list
Game Server 의 종류 - MMORPG 월드맵 // Creature.m -
attack:(int)weapon victim:(Creature*)victim damage:(int)damage { void effect(Creature* obj) { [obj notifyFight:weapon attacker: self victim: victim at: [victim point] sound: sound damage: damage]; } [[victim world] doCreatures: (Function) effect visible: [victim view]]; } // World.m + initialize { // local world pool } - doUsers: (Function) function ...
Game Server 의 종류 - MMORPG (Optimize) 출처 참고: 1,
2