Dbserver: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
A dbserver instance is a "shard", which is known to players as "a server" (Freedom, Defiant, etc). It performs several roles: | |||
== Command line arguments | * storing and retrieving objects in the database on behalf of some of the other servers | ||
* proxying messages between some other servers | |||
* coordinating player transfers | |||
* assorted random features that didn't have anywhere else to live | |||
Despite the name, relatively little of dbserver's code is related to managing the database, and it is not the only server which has a database. | |||
= Services = | |||
dbserver listens on several ports, each one providing a different service. Most services correspond to another server which will connect. All of these services use the common [[Network protocol]], in TCP-only mode. | |||
== account == | |||
== arena == | |||
== auction == | |||
AuctionServer connects to this service. It can receive the following commands: | |||
=== AUCTION_SVR_CONNECT === | |||
The message has no parameters. dbserver will accept only a single connection, and while it has one, it will respond to all further AUCTION_SVR_CONNECT messages by closing the connection. | |||
dbserver responds with AUCTION_CLIENT_CONNECT: | |||
packint(1) protocol_version | |||
string shard_name | |||
int(1) have_inactive_players | |||
something.... | |||
== beacon == | |||
== db == | |||
Despite the name, this service is used to communicate with MapServer. | |||
== launcher == | |||
== mission == | |||
== queue == | |||
== stat == | |||
== svrmon == | |||
== turnstile == | |||
= Command line arguments = | |||
{{CommandLineTable| | {{CommandLineTable| |
Revision as of 14:02, 2 May 2019
A dbserver instance is a "shard", which is known to players as "a server" (Freedom, Defiant, etc). It performs several roles:
- storing and retrieving objects in the database on behalf of some of the other servers
- proxying messages between some other servers
- coordinating player transfers
- assorted random features that didn't have anywhere else to live
Despite the name, relatively little of dbserver's code is related to managing the database, and it is not the only server which has a database.
Services
dbserver listens on several ports, each one providing a different service. Most services correspond to another server which will connect. All of these services use the common Network protocol, in TCP-only mode.
account
arena
auction
AuctionServer connects to this service. It can receive the following commands:
AUCTION_SVR_CONNECT
The message has no parameters. dbserver will accept only a single connection, and while it has one, it will respond to all further AUCTION_SVR_CONNECT messages by closing the connection.
dbserver responds with AUCTION_CLIENT_CONNECT:
packint(1) protocol_version string shard_name int(1) have_inactive_players something....
beacon
db
Despite the name, this service is used to communicate with MapServer.
launcher
mission
queue
stat
svrmon
turnstile
Command line arguments
|
Start the dbserver as a logserver instead. (This also happens if the executable name is "logserver".) |
|
Disable encryption between the client and dbserver. |
|
Enable production mode/disable development mode. Document production mode. |
|
Start all static non-DontAutoStart maps automatically on startup. |
|
Start up to n static maps on startup. |
|
Enable verbose logging. |
|
Run a database shutdown test on the n first containers and then exit. n is 100 by default. |
|
Run a performance benchmark and then exit. |
|
Run a load test of n runs on the database and then exit. n is 0 by default. |
|
Run a duplication test of n runs on the database and then exit. n is 0 by default. |
|
Run an update test of n runs on the database and then exit. n is 0 by default. |
|
Load the on-disk flat format (.defs or .bins) of Ents, Supergroups, Teamups and Leagues to the database, then exit. Only works in development mode. |
|
Dump the database containers of Ents, Supergroups, Teamups and Leagues to the on-disk format, then exit. Only works in development mode. |
|
Load a dump file. Defaults:
|
|
Revisit DB (after import?) and fix broken links. Defaults:
|
|
Export a dump file. |
|
Enable packet debug info (data type and length). Enabled by default if the build is FULLDEBUG, disabled otherwise. |
|
Echo logs for the generic memlog instance to the console. |
|
Pass the |