Development whiteboard: Difference between revisions

No edit summary
Line 159: Line 159:
|-
|-
|cidr
|cidr
|varchar 2
|int 3
|Banned IP netmask
|Banned IP netmask
|32
|32
Line 910: Line 910:
=== Server microservice ===
=== Server microservice ===
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.
{| class="wikitable"
|+Server provisioning host
!Key
!Type
!Description
!Default
|-
|id*
|PK int 10
|Relation ID
|
|-
|token*
|text
|Server host token
|
|-
|api_url*
|text
|API URL
|
|-
|official*
|boolean
|
|true
|-
|active*
|boolean
|
|true
|-
|pinged_at
|datetime
|Last ping time
|
|-
|capacity*
|int
|Max capacity (number of server slots)
|
|-
|slots*
|int
|Server slots remaining
|
|}
{| class="wikitable"
{| class="wikitable"
|+Hosted game server
|+Hosted game server
Line 937: Line 986:
|
|
|-
|-
|socket_host
|socket_host*
|text
|text
|Socket host
|Socket host
|
|
|-
|-
|socket_port
|socket_port*
|int
|int
|Socket port
|Socket port
|
|
|-
|-
|api_host
|api_url*
|text
|text
|API host
|HTTP(S) API base URL
|
|
|-
|api_port
|int
|API port
|443
|-
|-
|country
|country
Line 962: Line 1,006:
|
|
|-
|-
|provision
|provisioned*
|boolean
|boolean
|If true, can be provisioned by session service
|If true, can be provisioned by session service
|false
|false
|-
|-
|quarantine
|quarantine*
|boolean
|boolean
|If true, cannot be joined to. Set by moderators.
|If true, cannot be joined to. Set by moderators.
|false
|false
|-
|-
|active
|official*
|boolean
|Official provisioned server
|false
|-
|active*
|boolean
|boolean
|If false, server is not used for new sessions
|If false, server is not used for new sessions
|
|true
|-
|-
|server_info
|server_info
Line 985: Line 1,034:
|int
|int
|Last ping in milliseconds
|Last ping in milliseconds
|
|-
|provisioned_by
|FK int
|Provisioning host ID, if applicable
|
|
|-
|-
Line 1,004: Line 1,058:
| colspan="4" |M2M relation with games for multi-game support
| colspan="4" |M2M relation with games for multi-game support
|}
|}
==== Provisioned game server ====
{| class="wikitable"
{| class="wikitable"
|+Host ban
!Key
!Key
!Type
!Type
Line 1,017: Line 1,070:
|
|
|-
|-
|token*
|ip*
|text
|Server token
|
|-
|game_id
|FK int 10
|Currently running game ID
|
|-
|socket_host
|text
|Socket host
|
|-
|socket_port
|int
|Socket port
|
|-
|api_host
|text
|API host
|
|-
|api_port
|int
|API port
|443
|-
|country
|varchar 255
|varchar 255
|Country of server
|Server IP
|
|
|-
|-
|active
|cidr*
|boolean
|int 3
|If false, server is not used for new sessions
|Server IP netmask
|
|32
|-
|-
|server_info
|admin_id*
|json
|FK UUID
|Server-uploaded information about itself
|Admin user ID
|
|
|-
|-
|ping
|user_id
|int
|Last ping in milliseconds
|
|-
|created_by
|FK UUID
|FK UUID
|User id
|Banned user ID
|
|
|-
|-
|updated_by
|reason*
|FK UUID
|text
|User id
|Reason for network ban
|
|
|-
|-
Line 1,087: Line 1,105:
|
|
|-
|-
|pinged_at
|expires_at
|datetime
|datetime
|Server keepalive ping
|
|
|
|}
|}