From 213ff10184e4a0358ba4148fb641fad715ba4961 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Fri, 7 Jun 2013 22:13:47 +1000 Subject: [PATCH] Working on the server's architecture --- Home.md | 1 + notes.md | 39 +-------------------------- program-architecture.md | 58 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 38 deletions(-) create mode 100644 program-architecture.md diff --git a/Home.md b/Home.md index 89a5c6f..6c5d94d 100644 --- a/Home.md +++ b/Home.md @@ -24,6 +24,7 @@ If this wiki is missing something, it means I haven't gotten to it yet. * economy * NPCs * Technical Information + * [Program Architecture](wiki/program-architecture) * server & client communication protocol * modding outline * [Notes](wiki/notes) & [Scraps](wiki/scrapped-gdd) diff --git a/notes.md b/notes.md index 5a6f16c..1c5a2e5 100644 --- a/notes.md +++ b/notes.md @@ -12,44 +12,7 @@ Should the server program have a UI? Or at least allow some sort of input at the This is what a vanilla server needs to handle -* server name -* player cap -* maintaining the client list -* persistent player data - -#### Game Resources - -* resource distribution -* map data -* scripts -* tilesets -* sprites -* sound effects -* music - -#### World Maps - -* each game map is paged, giving free movement -* overworld (world backbone) -* dungeons (instanced?) -* player owned pirate ships -* other possible accessible locations -* collidable flags - -#### Game Events - -* Misc events -* Player combat is instanced, but players can drop in/out from the map - -#### Active Entities - -all entities have a unique, unsigned index - -* players -* pirate ships -* monster intelligence -* loot drops -* combat instances +... #### Player Information: diff --git a/program-architecture.md b/program-architecture.md new file mode 100644 index 0000000..fbaee1a --- /dev/null +++ b/program-architecture.md @@ -0,0 +1,58 @@ +## Server Requirements + +The server needs to handle the following content. + +* server name +* server version +* maximum player count +* logon/logoff protocol +* maintaining the client list (dropouts) +* persistent player data +* lua scripting engine + +#### Game Resource Distribution + +If the client lacks a resource, the server needs to transmit that resource to the client. + +* map data +* scripts +* tilesets +* sprites +* sound effects +* music + +#### World Maps + +The world map for a server can have any of these features. See [maps](wiki/maps). + +* overworld, connecting different locations +* dungeons, possibly instanced +* player owned pirate ships, which in turn can travel around the sea +* any numer of possible maps running at the same time +* collision detection in each map + +#### Game Events + +This is an ambiguous section, covering several situations. + +* instanced dungeons +* player combat +* timed events +* locational events + +#### Active Entities + +All entities on the server have a unique, unsigned index. + +* players +* monsters +* pirate ships +* loot drops + +## Server Architecture + +* server metadata +* map list +* entity list + +* client list \ No newline at end of file