67
edits
Line 911: | Line 911: | ||
Manages servers. | Manages servers. | ||
Provisioning hosts can be used to spawn new servers or remove inactive ones depending on the load. The web platform microservice only keeps track of servers, it does not itself shut down or create new servers. Static always-on servers can be configured manually by administrators. | Provisioning hosts can be used to spawn new servers or remove inactive ones depending on the load. The web platform microservice only keeps track of servers, it does not itself shut down or create new servers. Static "always-on" servers can be configured manually by administrators. | ||
The session service will request a server for a game from the server service. Servers which contain friends of the requested user and have free player slots will be preferred. If no servers are available, provision hosts are contacted and a new server is requested. Provisioning hosts usually create multiple servers at once, provided they have the slots, to alleviate bigger player influxes. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Server provisioning host | |+Server provisioning host | ||
Line 957: | Line 959: | ||
|int | |int | ||
|Server slots remaining | |Server slots remaining | ||
| | |||
|- | |||
|updated_by | |||
|FK UUID | |||
|Admin user ID | |||
| | |||
|- | |||
|updated_at | |||
|datetime | |||
| | |||
| | | | ||
|} | |} | ||
Game servers can be created by administrators or by the system via provisioning hosts to service the entire site (official boolean flag) or by users to service their own games. | |||
If the "provisioned" boolean flag is set, then the server service will decide which game will be loaded in a given server. For user-hosted servers, the games loaded will only be the ones configured by the user. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Hosted game server | |+Hosted game server | ||
Line 1,008: | Line 1,023: | ||
|provisioned* | |provisioned* | ||
|boolean | |boolean | ||
|If true, can be | |If true, current game can be chosen by server service | ||
|false | |false | ||
|- | |- | ||
Line 1,029: | Line 1,044: | ||
|json | |json | ||
|Server-uploaded information about itself | |Server-uploaded information about itself | ||
| | |||
|- | |||
|player_count | |||
|int | |||
|Player count from last ping | |||
| | | | ||
|- | |- | ||
Line 1,058: | Line 1,078: | ||
| colspan="4" |M2M relation with games for multi-game support | | colspan="4" |M2M relation with games for multi-game support | ||
|} | |} | ||
Host bans differ from user (IP) bans. It is possible to ban a server or network for being used to provide hosting without banning users. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+Host ban | |+Host ban | ||
Line 1,107: | Line 1,128: | ||
|expires_at | |expires_at | ||
|datetime | |datetime | ||
| | |If null, does not expire | ||
| | | | ||
|} | |} |