Teiserver
▼
Project version
v0.0.4
v0.0.3
v0.0.2
v0.0.1
GUIDES
Modules
Changelog
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Guides
Installation
Dependency
Migration
Supervision tree
Config
Config options
repo - Required
client_destroy_timeout_seconds - Default: 300
lobby_join_method - Default: :simple
default_behaviour_score - Default: 10_000
default_trust_score - Default: 10_000
default_social_score - Default: 10_000
default_min_user_password_length - Default: 6
teiserver_clustering - Default: true
teiserver_clustering_post_join_functions - Default: []
fn_calculate_match_type
fn_calculate_user_permissions
fn_lobby_name_acceptor
fn_user_name_acceptor
fn_uuid_generator
Hello World
Create project
Add dependencies
Create a migration
Application files
Add our tcp server
Data in
Data out
Program structure
User to Teiserver
Endpoint information flow
Login through to playing a game
Snippets
User authentication and login
Match lifecycle
Open lobby
Users joining
Lobby configuration
Match start
Playing the game
Match end
Post game
Development
Feature list
Accounts
Connections
Communication
Games
Settings
Roadmap
v0.1 plan
v1.0 planned features
Planned/intended features
Other
PubSubs
Client messages
Teiserver.Connections.Client:{user_id}
Lobby messages
Teiserver.Game.GlobalLobby
Teiserver.Game.Lobby:{lobby_id}
Teiserver.Game.LobbyHost:{lobby_id}
User messages
Communication messages
Teiserver.Communication.Room:{room_id}
Teiserver.Communication.User:{user_id}
Teiserver.Communication.Match:{match_id}
Teiserver
Sections
Main guides:
Contexts
Summary
Types
lobby_id/0
match_id/0
party_id/0
query_args/0
queue_id/0
seconds/0
team_number/0
user_id/0
Functions
deterministic_uuid/1
uuid/0
Teiserver.Api
Summary
Users
get_user_by_id/1
get_user_by_name/1
maybe_authenticate_user/2
register_user/3
Clients
connect_user/1
get_client/1
update_client/3
update_client_full/3
update_client_in_lobby/3
Room messages
get_room_by_name_or_id/1
list_recent_room_messages/1
send_room_message/3
subscribe_to_room_messages/1
unsubscribe_from_room_messages/1
Match messages
send_lobby_message/3
send_match_message/3
subscribe_to_match_messages/1
unsubscribe_from_match_messages/1
Direct messages
send_direct_message/3
subscribe_to_user_messaging/1
unsubscribe_from_user_messaging/1
Lobby
add_client_to_lobby/2
can_add_client_to_lobby/2
can_add_client_to_lobby/3
close_lobby/1
cycle_lobby/1
get_lobby/1
get_lobby_summary/1
list_lobby_ids/0
lobby_exists?/1
open_lobby/2
remove_client_from_lobby/2
stream_lobby_summaries/0
stream_lobby_summaries/1
subscribe_to_lobby/1
unsubscribe_from_lobby/1
update_lobby/2
Match
end_match/2
start_match/1
Teiserver.System
Teiserver.System.ClusterManager
Summary
Functions
child_spec/1
start_link/2
Teiserver.System.ClusterManagerSupervisor
Summary
Functions
child_spec/1
start_cluster_manager_supervisor_children/0
start_link/1
Teiserver.System.ClusterMember
Summary
Types
id/0
t/0
Functions
changeset/2
Teiserver.System.ClusterMemberLib
Summary
Functions
change_cluster_member/2
create_cluster_member/1
delete_cluster_member/1
get_cluster_member/2
get_cluster_member!/2
list_cluster_members/1
update_cluster_member/2
Contexts
Teiserver.Account
Summary
Users
allow?/2
change_user/2
create_user/1
delete_user/1
generate_password/0
get_user/2
get_user!/2
get_user_by_email/1
get_user_by_id/1
get_user_by_name/1
list_users/1
register_user/1
restricted?/2
update_limited_user/2
update_password/2
update_user/2
user_name_acceptable?/1
valid_password?/2
Teiserver.Communication
Summary
Room messages
change_room_message/2
create_room_message/1
delete_room_message/1
get_room_message/2
get_room_message!/2
list_recent_room_messages/2
list_room_messages/1
send_room_message/4
subscribe_to_room_messages/1
unsubscribe_from_room_messages/1
update_room_message/2
Match messages
change_match_message/2
create_match_message/1
delete_match_message/1
get_match_message/2
get_match_message!/2
list_match_messages/1
list_recent_match_messages/2
send_lobby_message/3
send_match_message/4
subscribe_to_match_messages/1
unsubscribe_from_match_messages/1
update_match_message/2
Direct messages
change_direct_message/2
create_direct_message/1
delete_direct_message/1
get_direct_message/2
get_direct_message!/2
list_direct_messages/1
list_direct_messages_for_user/2
list_direct_messages_from_user/2
list_direct_messages_from_user_to_user/3
list_direct_messages_to_user/2
send_direct_message/4
subscribe_to_user_messaging/1
unsubscribe_from_user_messaging/1
update_direct_message/2
Functions
change_room/2
create_room/1
delete_room/1
get_or_create_room/1
get_room/2
get_room!/2
get_room_by_name_or_id/1
list_direct_messages_between_users/3
list_rooms/1
update_room/2
Teiserver.Community
Teiserver.Connections
Sections
Creating a client
Destroying clients
Summary
Clients
connect_user/1
disconnect_user/1
get_client/1
get_client_list/1
list_client_ids/0
list_local_client_ids/0
subscribe_to_client/1
unsubscribe_from_client/1
update_client/3
update_client_full/3
update_client_in_lobby/3
Teiserver.Game
Summary
Lobby
add_client_to_lobby/2
can_add_client_to_lobby/2
can_add_client_to_lobby/3
close_lobby/1
cycle_lobby/1
get_lobby/1
get_lobby_attribute/2
get_lobby_summary/1
list_lobby_ids/0
list_local_lobby_ids/0
lobby_name_acceptable?/1
lobby_start_match/1
open_lobby/2
remove_client_from_lobby/2
stream_lobby_summaries/0
stream_lobby_summaries/1
subscribe_to_lobby/1
unsubscribe_from_lobby/1
update_lobby/2
Match
change_match/2
create_match/1
delete_match/1
end_match/2
get_match/2
get_match!/2
list_matches/1
start_match/1
update_match/2
Match Type
change_match_type/2
create_match_type/1
delete_match_type/1
get_match_type/2
get_match_type!/2
get_or_create_match_type/1
list_match_types/1
update_match_type/2
Match Setting
change_match_setting/2
create_match_setting/1
delete_match_setting/1
get_match_setting/3
get_match_setting!/3
get_match_settings_map/1
list_match_settings/1
update_match_setting/2
Match Setting Type
change_match_setting_type/2
create_match_setting_type/1
delete_match_setting_type/1
get_match_setting_type/2
get_match_setting_type!/2
get_or_create_match_setting_type/1
list_match_setting_types/1
update_match_setting_type/2
Functions
change_match_membership/2
create_many_match_memberships/1
create_many_match_settings/1
create_match_membership/1
delete_match_membership/1
get_match_membership/3
get_match_membership!/3
list_match_memberships/1
update_match_membership/2
Teiserver.Logging
Teiserver.Matchmaking
Teiserver.Moderation
Teiserver.Settings
Summary
Site settings
change_server_setting/2
create_server_setting/1
delete_server_setting/1
get_server_setting/2
get_server_setting!/2
list_server_settings/0
list_server_settings/1
update_server_setting/2
User settings
change_user_setting/2
create_user_setting/1
delete_user_setting/1
get_user_setting/2
get_user_setting!/2
list_user_settings/0
list_user_settings/1
update_user_setting/2
Teiserver.Telemetry
Account
Teiserver.Account.ExtraUserData
Teiserver.Account.User
Summary
Types
id/0
t/0
Functions
calculate_user_permissions/1
default_calculate_user_permissions/1
valid_password?/2
Teiserver.Account.UserLib
Summary
Functions
allow?/2
change_user/2
create_user/1
default_user_name_acceptable?/1
delete_user/1
generate_password/0
get_user/2
get_user!/2
get_user_by_email/1
get_user_by_id/1
get_user_by_name/1
list_users/1
register_user/1
restricted?/2
update_limited_user/2
update_password/2
update_user/2
user_name_acceptable?/1
valid_password?/2
Communication
Teiserver.Communication.DirectMessage
Summary
Types
id/0
t/0
Teiserver.Communication.DirectMessageLib
Summary
Functions
change_direct_message/2
create_direct_message/1
delete_direct_message/1
get_direct_message/2
get_direct_message!/2
list_direct_messages/1
list_direct_messages_between_users/3
list_direct_messages_for_user/2
list_direct_messages_from_user/2
list_direct_messages_from_user_to_user/3
list_direct_messages_to_user/2
send_direct_message/4
subscribe_to_user_messaging/1
unsubscribe_from_user_messaging/1
update_direct_message/2
Teiserver.Communication.MatchMessage
Summary
Types
id/0
t/0
Teiserver.Communication.MatchMessageLib
Summary
Functions
change_match_message/2
create_match_message/1
delete_match_message/1
get_match_message/2
get_match_message!/2
list_match_messages/1
list_recent_match_messages/2
send_lobby_message/3
send_match_message/4
subscribe_to_match_messages/1
unsubscribe_from_match_messages/1
update_match_message/2
Teiserver.Communication.Room
Summary
Types
id/0
name/0
name_or_id/0
t/0
Teiserver.Communication.RoomLib
Summary
Functions
change_room/2
create_room/1
delete_room/1
get_or_create_room/1
get_room/2
get_room!/2
get_room_by_name_or_id/1
list_rooms/1
update_room/2
Teiserver.Communication.RoomMessage
Summary
Types
id/0
t/0
Teiserver.Communication.RoomMessageLib
Summary
Functions
change_room_message/2
create_room_message/1
delete_room_message/1
get_room_message/2
get_room_message!/2
list_recent_room_messages/2
list_room_messages/1
send_room_message/4
subscribe_to_room_messages/1
unsubscribe_from_room_messages/1
update_room_message/2
Connections
Teiserver.Connections.Client
Summary
Types
t/0
Functions
new/1
Teiserver.Connections.ClientLib
Summary
Functions
connect_user/1
disconnect_user/1
get_client/1
get_client_list/1
list_client_ids/0
list_local_client_ids/0
subscribe_to_client/1
unsubscribe_from_client/1
update_client/3
update_client_full/3
update_client_in_lobby/3
Teiserver.Connections.ClientServer
Summary
Functions
child_spec/1
Game
Teiserver.Game.Lobby
Summary
Types
id/0
name/0
t/0
Functions
new/2
Teiserver.Game.LobbyLib
Summary
Functions
add_client_to_lobby/2
can_add_client_to_lobby/3
client_update_request/2
close_lobby/1
cycle_lobby/1
default_lobby_name_acceptable?/1
get_lobby/1
get_lobby_attribute/2
get_lobby_summary/1
list_lobby_ids/0
list_local_lobby_ids/0
lobby_name_acceptable?/1
lobby_start_match/1
open_lobby/2
remove_client_from_lobby/2
stream_lobby_summaries/0
stream_lobby_summaries/1
subscribe_to_lobby/1
unsubscribe_from_lobby/1
update_lobby/2
Teiserver.Game.LobbyServer
Summary
Functions
child_spec/1
update_lobby/2
Teiserver.Game.LobbySummary
Summary
Types
t/0
Functions
new/1
Teiserver.Game.Match
Summary
Types
id/0
t/0
Functions
changeset/2
Teiserver.Game.MatchLib
Summary
Functions
change_match/2
create_match/1
delete_match/1
end_match/2
get_match/2
get_match!/2
list_matches/1
start_match/1
update_match/2
Teiserver.Game.MatchMembership
Summary
Types
t/0
Functions
changeset/2
Teiserver.Game.MatchMembershipLib
Summary
Functions
change_match_membership/2
create_many_match_memberships/1
create_match_membership/1
delete_match_membership/1
get_match_membership/3
get_match_membership!/3
list_match_memberships/1
update_match_membership/2
Teiserver.Game.MatchSetting
Summary
Types
t/0
Functions
changeset/2
Teiserver.Game.MatchSettingLib
Summary
Functions
change_match_setting/2
create_many_match_settings/1
create_match_setting/1
delete_match_setting/1
get_match_setting/3
get_match_setting!/3
get_match_settings_map/1
list_match_settings/1
update_match_setting/2
Teiserver.Game.MatchSettingType
Summary
Types
id/0
t/0
Functions
changeset/2
Teiserver.Game.MatchSettingTypeLib
Summary
Functions
change_match_setting_type/2
create_match_setting_type/1
delete_match_setting_type/1
get_match_setting_type/2
get_match_setting_type!/2
get_or_create_match_setting_type/1
list_match_setting_types/1
update_match_setting_type/2
Teiserver.Game.MatchType
Summary
Types
id/0
t/0
Functions
changeset/2
Teiserver.Game.MatchTypeLib
Summary
Functions
calculate_match_type/1
change_match_type/2
create_match_type/1
default_calculate_match_type/1
delete_match_type/1
get_match_type/2
get_match_type!/2
get_match_type_by_name_or_id/1
get_or_create_match_type/1
list_match_types/1
update_match_type/2
Settings
Teiserver.Settings.ServerSetting
Summary
Types
t/0
Teiserver.Settings.ServerSettingLib
Summary
Functions
change_server_setting/2
create_server_setting/1
delete_server_setting/1
get_server_setting/2
get_server_setting!/2
list_server_settings/1
update_server_setting/2
Teiserver.Settings.UserSetting
Summary
Types
t/0
Teiserver.Settings.UserSettingLib
Summary
Functions
change_user_setting/2
create_user_setting/1
delete_user_setting/1
get_user_setting/2
get_user_setting!/2
list_user_settings/1
update_user_setting/2
Helpers
Teiserver.Helpers.MapHelper
Summary
Functions
map_diffs/2
Internals
Teiserver.Migration
Sections
Usage
Isolation with Prefixes
Migrating Without Ecto
Summary
Callbacks
down/1
migrated_version/1
up/1
Functions
down/1
migrated_version/1
up/1
TeiserverMacros
Summary
Functions
__using__/1
library/0
queries/0
schema/0
Search documentation of Teiserver
Settings
View Source
Teiserver.System
(Teiserver v0.0.4)
×