├── .dockerignore ├── .gitattributes ├── .github ├── codecov.yml └── workflows │ ├── build.yml │ ├── doc.yml │ ├── lint.yml │ ├── scripts │ └── init-rabbitmq.sh │ └── test.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── DEVELOPMENT.md ├── Dockerfile ├── Pipfile ├── Pipfile.lock ├── README.md ├── compose.yaml ├── dev-config.yml ├── e2e_tests ├── __init__.py ├── conftest.py ├── fafclient.py ├── test_game.py ├── test_login.py ├── test_matchmaking.py ├── test_server.py └── websocket_protocol.py ├── license.txt ├── main.py ├── minikube-example.yaml ├── pytest.ini ├── server ├── __init__.py ├── asyncio_extensions.py ├── broadcast_service.py ├── config.py ├── configuration_service.py ├── control.py ├── core │ ├── __init__.py │ ├── dependency_injector.py │ └── service.py ├── db │ ├── __init__.py │ ├── custom_types.py │ ├── models.py │ └── typedefs.py ├── decorators.py ├── exceptions.py ├── factions.py ├── game_service.py ├── gameconnection.py ├── games │ ├── __init__.py │ ├── coop.py │ ├── custom_game.py │ ├── game.py │ ├── game_results.py │ ├── ladder_game.py │ └── typedefs.py ├── geoip_service.py ├── health.py ├── info.py ├── ladder_service │ ├── __init__.py │ ├── game_name.py │ ├── ladder_service.py │ ├── veto_system.py │ └── violation_service.py ├── lobbyconnection.py ├── matchmaker │ ├── __init__.py │ ├── algorithm │ │ ├── __init__.py │ │ ├── bucket_teams.py │ │ ├── matchmaker.py │ │ ├── stable_marriage.py │ │ └── team_matchmaker.py │ ├── map_pool.py │ ├── matchmaker_queue.py │ ├── pop_timer.py │ └── search.py ├── message_queue_service.py ├── metrics.py ├── oauth_service.py ├── party_service.py ├── player_service.py ├── players.py ├── profiler.py ├── protocol │ ├── __init__.py │ ├── gpgnet.py │ ├── protocol.py │ ├── qdatastream.py │ └── simple_json.py ├── rating.py ├── rating_service │ ├── __init__.py │ ├── game_rater.py │ ├── rating_service.py │ └── typedefs.py ├── servercontext.py ├── stats │ ├── __init__.py │ ├── achievement_service.py │ ├── event_service.py │ ├── game_stats_service.py │ └── unit.py ├── team_matchmaker │ ├── __init__.py │ ├── party_member.py │ └── player_party.py ├── timing │ ├── __init__.py │ └── timer.py ├── types.py └── weakattr.py ├── setup.cfg ├── setup.py └── tests ├── __init__.py ├── conftest.py ├── data ├── empty_conf.yaml ├── game_stats_ai_game.json ├── game_stats_full_example.json ├── game_stats_no_army_for_user.json ├── game_stats_simple_win.json ├── game_stats_single_player.json ├── refresh_conf.yaml ├── test-data.sql ├── test.mmdb ├── test_conf.yaml └── uid11255492.log.json ├── integration_tests ├── __init__.py ├── conftest.py ├── test_admin.py ├── test_configuration_refresh.py ├── test_control_server.py ├── test_coop.py ├── test_game.py ├── test_health_server.py ├── test_load.py ├── test_login.py ├── test_matchmaker.py ├── test_matchmaker_vetoes.py ├── test_matchmaker_violations.py ├── test_message_queue_service.py ├── test_modvault.py ├── test_parties.py ├── test_server.py ├── test_server_instance.py ├── test_servercontext.py └── test_teammatchmaker.py ├── unit_tests ├── __init__.py ├── conftest.py ├── core │ ├── __init__.py │ ├── test_dependency_injector.py │ └── test_service.py ├── strategies.py ├── test_achievement_service.py ├── test_asyncio_extensions.py ├── test_broadcast_service.py ├── test_configuration_refresh.py ├── test_coop_game.py ├── test_custom_game.py ├── test_database.py ├── test_decorators.py ├── test_event_service.py ├── test_game.py ├── test_game_options.py ├── test_game_rater.py ├── test_game_rating.py ├── test_game_resolution.py ├── test_game_results.py ├── test_game_stats_service.py ├── test_gameconnection.py ├── test_games_service.py ├── test_geoip_service.py ├── test_ladder_service.py ├── test_laddergame.py ├── test_lobbyconnection.py ├── test_map_pool.py ├── test_matchmaker_algorithm_bucket_teams.py ├── test_matchmaker_algorithm_stable_marriage.py ├── test_matchmaker_algorithm_team_matchmaker.py ├── test_matchmaker_queue.py ├── test_message_queue_service.py ├── test_oauth_service.py ├── test_party.py ├── test_party_service.py ├── test_player_service.py ├── test_players.py ├── test_pop_timer.py ├── test_profiler.py ├── test_protocol.py ├── test_rating.py ├── test_rating_service.py ├── test_server_instance.py ├── test_servercontext.py ├── test_test_utils.py ├── test_types.py ├── test_veto_system.py ├── test_violation_service.py └── test_weakattr.py └── utils ├── __init__.py ├── event_loop.py ├── exhaust_callbacks.py ├── hypothesis.py └── mock_database.py /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto, eol=LF 2 | -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/codecov.yml -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/doc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/workflows/doc.yml -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/workflows/lint.yml -------------------------------------------------------------------------------- /.github/workflows/scripts/init-rabbitmq.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/workflows/scripts/init-rabbitmq.sh -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEVELOPMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/DEVELOPMENT.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/Dockerfile -------------------------------------------------------------------------------- /Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/Pipfile -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/Pipfile.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/README.md -------------------------------------------------------------------------------- /compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/compose.yaml -------------------------------------------------------------------------------- /dev-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/dev-config.yml -------------------------------------------------------------------------------- /e2e_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /e2e_tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/conftest.py -------------------------------------------------------------------------------- /e2e_tests/fafclient.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/fafclient.py -------------------------------------------------------------------------------- /e2e_tests/test_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/test_game.py -------------------------------------------------------------------------------- /e2e_tests/test_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/test_login.py -------------------------------------------------------------------------------- /e2e_tests/test_matchmaking.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/test_matchmaking.py -------------------------------------------------------------------------------- /e2e_tests/test_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/test_server.py -------------------------------------------------------------------------------- /e2e_tests/websocket_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/e2e_tests/websocket_protocol.py -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/license.txt -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/main.py -------------------------------------------------------------------------------- /minikube-example.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/minikube-example.yaml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/pytest.ini -------------------------------------------------------------------------------- /server/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/__init__.py -------------------------------------------------------------------------------- /server/asyncio_extensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/asyncio_extensions.py -------------------------------------------------------------------------------- /server/broadcast_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/broadcast_service.py -------------------------------------------------------------------------------- /server/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/config.py -------------------------------------------------------------------------------- /server/configuration_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/configuration_service.py -------------------------------------------------------------------------------- /server/control.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/control.py -------------------------------------------------------------------------------- /server/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/core/__init__.py -------------------------------------------------------------------------------- /server/core/dependency_injector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/core/dependency_injector.py -------------------------------------------------------------------------------- /server/core/service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/core/service.py -------------------------------------------------------------------------------- /server/db/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/db/__init__.py -------------------------------------------------------------------------------- /server/db/custom_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/db/custom_types.py -------------------------------------------------------------------------------- /server/db/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/db/models.py -------------------------------------------------------------------------------- /server/db/typedefs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/db/typedefs.py -------------------------------------------------------------------------------- /server/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/decorators.py -------------------------------------------------------------------------------- /server/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/exceptions.py -------------------------------------------------------------------------------- /server/factions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/factions.py -------------------------------------------------------------------------------- /server/game_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/game_service.py -------------------------------------------------------------------------------- /server/gameconnection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/gameconnection.py -------------------------------------------------------------------------------- /server/games/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/__init__.py -------------------------------------------------------------------------------- /server/games/coop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/coop.py -------------------------------------------------------------------------------- /server/games/custom_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/custom_game.py -------------------------------------------------------------------------------- /server/games/game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/game.py -------------------------------------------------------------------------------- /server/games/game_results.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/game_results.py -------------------------------------------------------------------------------- /server/games/ladder_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/ladder_game.py -------------------------------------------------------------------------------- /server/games/typedefs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/games/typedefs.py -------------------------------------------------------------------------------- /server/geoip_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/geoip_service.py -------------------------------------------------------------------------------- /server/health.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/health.py -------------------------------------------------------------------------------- /server/info.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/info.py -------------------------------------------------------------------------------- /server/ladder_service/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/ladder_service/__init__.py -------------------------------------------------------------------------------- /server/ladder_service/game_name.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/ladder_service/game_name.py -------------------------------------------------------------------------------- /server/ladder_service/ladder_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/ladder_service/ladder_service.py -------------------------------------------------------------------------------- /server/ladder_service/veto_system.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/ladder_service/veto_system.py -------------------------------------------------------------------------------- /server/ladder_service/violation_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/ladder_service/violation_service.py -------------------------------------------------------------------------------- /server/lobbyconnection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/lobbyconnection.py -------------------------------------------------------------------------------- /server/matchmaker/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/__init__.py -------------------------------------------------------------------------------- /server/matchmaker/algorithm/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Matchmaker algorithm implementations 3 | """ 4 | -------------------------------------------------------------------------------- /server/matchmaker/algorithm/bucket_teams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/algorithm/bucket_teams.py -------------------------------------------------------------------------------- /server/matchmaker/algorithm/matchmaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/algorithm/matchmaker.py -------------------------------------------------------------------------------- /server/matchmaker/algorithm/stable_marriage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/algorithm/stable_marriage.py -------------------------------------------------------------------------------- /server/matchmaker/algorithm/team_matchmaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/algorithm/team_matchmaker.py -------------------------------------------------------------------------------- /server/matchmaker/map_pool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/map_pool.py -------------------------------------------------------------------------------- /server/matchmaker/matchmaker_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/matchmaker_queue.py -------------------------------------------------------------------------------- /server/matchmaker/pop_timer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/pop_timer.py -------------------------------------------------------------------------------- /server/matchmaker/search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/matchmaker/search.py -------------------------------------------------------------------------------- /server/message_queue_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/message_queue_service.py -------------------------------------------------------------------------------- /server/metrics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/metrics.py -------------------------------------------------------------------------------- /server/oauth_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/oauth_service.py -------------------------------------------------------------------------------- /server/party_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/party_service.py -------------------------------------------------------------------------------- /server/player_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/player_service.py -------------------------------------------------------------------------------- /server/players.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/players.py -------------------------------------------------------------------------------- /server/profiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/profiler.py -------------------------------------------------------------------------------- /server/protocol/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/protocol/__init__.py -------------------------------------------------------------------------------- /server/protocol/gpgnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/protocol/gpgnet.py -------------------------------------------------------------------------------- /server/protocol/protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/protocol/protocol.py -------------------------------------------------------------------------------- /server/protocol/qdatastream.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/protocol/qdatastream.py -------------------------------------------------------------------------------- /server/protocol/simple_json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/protocol/simple_json.py -------------------------------------------------------------------------------- /server/rating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/rating.py -------------------------------------------------------------------------------- /server/rating_service/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/rating_service/__init__.py -------------------------------------------------------------------------------- /server/rating_service/game_rater.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/rating_service/game_rater.py -------------------------------------------------------------------------------- /server/rating_service/rating_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/rating_service/rating_service.py -------------------------------------------------------------------------------- /server/rating_service/typedefs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/rating_service/typedefs.py -------------------------------------------------------------------------------- /server/servercontext.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/servercontext.py -------------------------------------------------------------------------------- /server/stats/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/stats/__init__.py -------------------------------------------------------------------------------- /server/stats/achievement_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/stats/achievement_service.py -------------------------------------------------------------------------------- /server/stats/event_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/stats/event_service.py -------------------------------------------------------------------------------- /server/stats/game_stats_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/stats/game_stats_service.py -------------------------------------------------------------------------------- /server/stats/unit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/stats/unit.py -------------------------------------------------------------------------------- /server/team_matchmaker/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/team_matchmaker/__init__.py -------------------------------------------------------------------------------- /server/team_matchmaker/party_member.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/team_matchmaker/party_member.py -------------------------------------------------------------------------------- /server/team_matchmaker/player_party.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/team_matchmaker/player_party.py -------------------------------------------------------------------------------- /server/timing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/timing/__init__.py -------------------------------------------------------------------------------- /server/timing/timer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/timing/timer.py -------------------------------------------------------------------------------- /server/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/types.py -------------------------------------------------------------------------------- /server/weakattr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/server/weakattr.py -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/setup.cfg -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data/empty_conf.yaml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/game_stats_ai_game.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/game_stats_ai_game.json -------------------------------------------------------------------------------- /tests/data/game_stats_full_example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/game_stats_full_example.json -------------------------------------------------------------------------------- /tests/data/game_stats_no_army_for_user.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/game_stats_no_army_for_user.json -------------------------------------------------------------------------------- /tests/data/game_stats_simple_win.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/game_stats_simple_win.json -------------------------------------------------------------------------------- /tests/data/game_stats_single_player.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/game_stats_single_player.json -------------------------------------------------------------------------------- /tests/data/refresh_conf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/refresh_conf.yaml -------------------------------------------------------------------------------- /tests/data/test-data.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/test-data.sql -------------------------------------------------------------------------------- /tests/data/test.mmdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/test.mmdb -------------------------------------------------------------------------------- /tests/data/test_conf.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/test_conf.yaml -------------------------------------------------------------------------------- /tests/data/uid11255492.log.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/data/uid11255492.log.json -------------------------------------------------------------------------------- /tests/integration_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integration_tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/conftest.py -------------------------------------------------------------------------------- /tests/integration_tests/test_admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_admin.py -------------------------------------------------------------------------------- /tests/integration_tests/test_configuration_refresh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_configuration_refresh.py -------------------------------------------------------------------------------- /tests/integration_tests/test_control_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_control_server.py -------------------------------------------------------------------------------- /tests/integration_tests/test_coop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_coop.py -------------------------------------------------------------------------------- /tests/integration_tests/test_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_game.py -------------------------------------------------------------------------------- /tests/integration_tests/test_health_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_health_server.py -------------------------------------------------------------------------------- /tests/integration_tests/test_load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_load.py -------------------------------------------------------------------------------- /tests/integration_tests/test_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_login.py -------------------------------------------------------------------------------- /tests/integration_tests/test_matchmaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_matchmaker.py -------------------------------------------------------------------------------- /tests/integration_tests/test_matchmaker_vetoes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_matchmaker_vetoes.py -------------------------------------------------------------------------------- /tests/integration_tests/test_matchmaker_violations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_matchmaker_violations.py -------------------------------------------------------------------------------- /tests/integration_tests/test_message_queue_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_message_queue_service.py -------------------------------------------------------------------------------- /tests/integration_tests/test_modvault.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_modvault.py -------------------------------------------------------------------------------- /tests/integration_tests/test_parties.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_parties.py -------------------------------------------------------------------------------- /tests/integration_tests/test_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_server.py -------------------------------------------------------------------------------- /tests/integration_tests/test_server_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_server_instance.py -------------------------------------------------------------------------------- /tests/integration_tests/test_servercontext.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_servercontext.py -------------------------------------------------------------------------------- /tests/integration_tests/test_teammatchmaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/integration_tests/test_teammatchmaker.py -------------------------------------------------------------------------------- /tests/unit_tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit_tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/conftest.py -------------------------------------------------------------------------------- /tests/unit_tests/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit_tests/core/test_dependency_injector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/core/test_dependency_injector.py -------------------------------------------------------------------------------- /tests/unit_tests/core/test_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/core/test_service.py -------------------------------------------------------------------------------- /tests/unit_tests/strategies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/strategies.py -------------------------------------------------------------------------------- /tests/unit_tests/test_achievement_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_achievement_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_asyncio_extensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_asyncio_extensions.py -------------------------------------------------------------------------------- /tests/unit_tests/test_broadcast_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_broadcast_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_configuration_refresh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_configuration_refresh.py -------------------------------------------------------------------------------- /tests/unit_tests/test_coop_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_coop_game.py -------------------------------------------------------------------------------- /tests/unit_tests/test_custom_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_custom_game.py -------------------------------------------------------------------------------- /tests/unit_tests/test_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_database.py -------------------------------------------------------------------------------- /tests/unit_tests/test_decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_decorators.py -------------------------------------------------------------------------------- /tests/unit_tests/test_event_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_event_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_options.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_options.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_rater.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_rater.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_rating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_rating.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_resolution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_resolution.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_results.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_results.py -------------------------------------------------------------------------------- /tests/unit_tests/test_game_stats_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_game_stats_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_gameconnection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_gameconnection.py -------------------------------------------------------------------------------- /tests/unit_tests/test_games_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_games_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_geoip_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_geoip_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_ladder_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_ladder_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_laddergame.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_laddergame.py -------------------------------------------------------------------------------- /tests/unit_tests/test_lobbyconnection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_lobbyconnection.py -------------------------------------------------------------------------------- /tests/unit_tests/test_map_pool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_map_pool.py -------------------------------------------------------------------------------- /tests/unit_tests/test_matchmaker_algorithm_bucket_teams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_matchmaker_algorithm_bucket_teams.py -------------------------------------------------------------------------------- /tests/unit_tests/test_matchmaker_algorithm_stable_marriage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_matchmaker_algorithm_stable_marriage.py -------------------------------------------------------------------------------- /tests/unit_tests/test_matchmaker_algorithm_team_matchmaker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_matchmaker_algorithm_team_matchmaker.py -------------------------------------------------------------------------------- /tests/unit_tests/test_matchmaker_queue.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_matchmaker_queue.py -------------------------------------------------------------------------------- /tests/unit_tests/test_message_queue_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_message_queue_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_oauth_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_oauth_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_party.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_party.py -------------------------------------------------------------------------------- /tests/unit_tests/test_party_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_party_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_player_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_player_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_players.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_players.py -------------------------------------------------------------------------------- /tests/unit_tests/test_pop_timer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_pop_timer.py -------------------------------------------------------------------------------- /tests/unit_tests/test_profiler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_profiler.py -------------------------------------------------------------------------------- /tests/unit_tests/test_protocol.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_protocol.py -------------------------------------------------------------------------------- /tests/unit_tests/test_rating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_rating.py -------------------------------------------------------------------------------- /tests/unit_tests/test_rating_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_rating_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_server_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_server_instance.py -------------------------------------------------------------------------------- /tests/unit_tests/test_servercontext.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_servercontext.py -------------------------------------------------------------------------------- /tests/unit_tests/test_test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_test_utils.py -------------------------------------------------------------------------------- /tests/unit_tests/test_types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_types.py -------------------------------------------------------------------------------- /tests/unit_tests/test_veto_system.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_veto_system.py -------------------------------------------------------------------------------- /tests/unit_tests/test_violation_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_violation_service.py -------------------------------------------------------------------------------- /tests/unit_tests/test_weakattr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/unit_tests/test_weakattr.py -------------------------------------------------------------------------------- /tests/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/utils/__init__.py -------------------------------------------------------------------------------- /tests/utils/event_loop.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/utils/event_loop.py -------------------------------------------------------------------------------- /tests/utils/exhaust_callbacks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/utils/exhaust_callbacks.py -------------------------------------------------------------------------------- /tests/utils/hypothesis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/utils/hypothesis.py -------------------------------------------------------------------------------- /tests/utils/mock_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FAForever/server/HEAD/tests/utils/mock_database.py --------------------------------------------------------------------------------