-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
- Servers should have a required statically defined ID that is used to communicate internally. For example, the gateway server could be 4001, and the world be 4002.
- Allow for multiple roles, (multiple instances of
SOEServer)- Roles should load libraries with message handlers, and some kind of
StartServermethod. - Internal "built-in" roles such as Message Director, Client Agents..
- Roles should load libraries with message handlers, and some kind of
- Read configurations that define the role and configuration of an
SOEServerinstance- Fields should have default values, they do NOT need to appear in a configuration.
- Each component of an
SOEServershould be configurable.
Example Config
/*
Gateway Server
*/
{
// General Information
Name: "Gateway",
ID: 4001,
// Connections
ConnectionManager: {
MaxConnections: 100
}
// Protocol
Protocol: {
ProtocolString: "CGAPI_527"
},
// Databases
Databases: {
GameDB: {
Backend: "MongoDB",
Host: "localhost",
Port: 2199,
Storables: [
Character
]
}
}
// Logging
Logger: {
Filename: "Gateway-dd-mm-yy-HH-mm.log",
WantLibraryLogging: false,
WantColors: true,
WantInfo: false,
WantError: true,
WantWarning: true
}
},
/*
World Server
*/
{
// General Information
Name: "World",
ID: 4002,
// Connections
ConnectionManager: {
// We only want routed connections from the gateway..
AllowDirectConnections: false,
AllowRoutedConnections: true
}
// Databases
Databases: {
GameDB: {
Backend: "MongoDB",
Host: "localhost",
Port: 2199,
Storables: [
Character
]
}
}
// Logging
Logger: {
Filename: "World-dd-mm-yy-HH-mm.log",
WantLibraryLogging: false,
WantColors: true,
WantInfo: false,
WantError: true,
WantWarning: true
}
}Reactions are currently unavailable