Working on the server's architecture
+1
@@ -24,6 +24,7 @@ If this wiki is missing something, it means I haven't gotten to it yet.
|
|||||||
* economy
|
* economy
|
||||||
* NPCs
|
* NPCs
|
||||||
* Technical Information
|
* Technical Information
|
||||||
|
* [Program Architecture](wiki/program-architecture)
|
||||||
* server & client communication protocol
|
* server & client communication protocol
|
||||||
* modding outline
|
* modding outline
|
||||||
* [Notes](wiki/notes) & [Scraps](wiki/scrapped-gdd)
|
* [Notes](wiki/notes) & [Scraps](wiki/scrapped-gdd)
|
||||||
|
|||||||
+1
-38
@@ -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
|
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:
|
#### Player Information:
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user