diff --git a/.gitmodules b/.gitmodules index 75fd25c..29492c9 100644 --- a/.gitmodules +++ b/.gitmodules @@ -91,3 +91,6 @@ path = repos/pikmin-3 url = https://github.com/PretendoNetwork/pikmin-3 branch = master ignore = dirty +[submodule "repos/pokken-tournament"] + path = repos/pokken-tournament + url = https://github.com/PretendoNetwork/pokken-tournament diff --git a/compose.yml b/compose.yml index bb2b307..0c7cd0e 100644 --- a/compose.yml +++ b/compose.yml @@ -484,6 +484,26 @@ services: - ./environment/pikmin-3.env - ./environment/pikmin-3.local.env + pokken-tournament: + build: ./repos/pokken-tournament + depends_on: + - account + - postgres + restart: unless-stopped + ports: + # Go delve debugger + - 127.0.0.1:2352:2349 + # Authentication server + - 6012:6012/udp + # Secure server + - 6013:6013/udp + networks: + internal: + dns: 172.20.0.200 + env_file: + - ./environment/pokken-tournament.env + - ./environment/pokken-tournament.local.env + volumes: mitmproxy-pretendo-data: mongodb-database: diff --git a/environment/pokken-tournament.env b/environment/pokken-tournament.env new file mode 100644 index 0000000..fba5f45 --- /dev/null +++ b/environment/pokken-tournament.env @@ -0,0 +1,4 @@ +PN_POKKENTOURNAMENT_AUTHENTICATION_SERVER_PORT=6012 +PN_POKKENTOURNAMENT_SECURE_SERVER_PORT=6013 +PN_POKKENTOURNAMENT_ACCOUNT_GRPC_HOST=account +PN_POKKENTOURNAMENT_ACCOUNT_GRPC_PORT=5000 diff --git a/repos/pokken-tournament b/repos/pokken-tournament new file mode 160000 index 0000000..53790f8 --- /dev/null +++ b/repos/pokken-tournament @@ -0,0 +1 @@ +Subproject commit 53790f8a05e6d19495deb1af97a32bd1c9f9a659 diff --git a/scripts/internal/framework.sh b/scripts/internal/framework.sh index 9c2d3b0..5457427 100644 --- a/scripts/internal/framework.sh +++ b/scripts/internal/framework.sh @@ -233,7 +233,7 @@ windows_detected=false # $OS seems to be the most reliable, as it was set in all the environments I checked if [[ "${OS:-}" = "Windows_NT" ]]; then - windows_detected=true + windows_detected=true fi # $OSTYPE was also set in all the environments I checked if [[ "${OSTYPE:-}" =~ msys|cygwin ]]; then diff --git a/scripts/internal/update-account-servers-database.sh b/scripts/internal/update-account-servers-database.sh index 31cda00..c49faa5 100755 --- a/scripts/internal/update-account-servers-database.sh +++ b/scripts/internal/update-account-servers-database.sh @@ -7,7 +7,7 @@ parse_arguments "$@" print_info "Setting up Pretendo account servers database..." load_dotenv .env -dotenv_files=("friends" "miiverse-api" "wiiu-chat" "super-mario-maker" "splatoon" "minecraft-wiiu" "pikmin-3") +dotenv_files=("friends" "miiverse-api" "wiiu-chat" "super-mario-maker" "splatoon" "minecraft-wiiu" "pikmin-3" "pokken-tournament") for file in "${dotenv_files[@]}"; do load_dotenv "$file.env" "$file.local.env" done @@ -24,6 +24,7 @@ run_verbose docker compose exec -e SERVER_IP="$SERVER_IP" \ -e SPLATOON_PORT="$PN_SPLATOON_AUTHENTICATION_SERVER_PORT" \ -e MINECRAFT_PORT="$PN_MINECRAFT_AUTHENTICATION_SERVER_PORT" \ -e PIKMIN3_PORT="$PN_PIKMIN3_AUTHENTICATION_SERVER_PORT" \ + -e POKKENTOURNAMENT_PORT="$PN_POKKENTOURNAMENT_AUTHENTICATION_SERVER_PORT" \ account node -e "$create_server_script" print_success "Account servers database is set up." diff --git a/scripts/run-in-container/update-account-servers-database.js b/scripts/run-in-container/update-account-servers-database.js index 959bac8..4343371 100644 --- a/scripts/run-in-container/update-account-servers-database.js +++ b/scripts/run-in-container/update-account-servers-database.js @@ -109,6 +109,14 @@ async function runAsync() { 1, "0".repeat(64) ); + await createNexServer( + "Pokken Tournament", + "101C5800", + ["00050000101DF400", "00050000101C5800", "00050000101DEE00"], + process.env.SERVER_IP, + process.env.POKKENTOURNAMENT_PORT, + 1, + "0".repeat(64) } runAsync().then(() => { diff --git a/scripts/setup-environment.sh b/scripts/setup-environment.sh index 3f2bff4..e321383 100755 --- a/scripts/setup-environment.sh +++ b/scripts/setup-environment.sh @@ -87,6 +87,7 @@ echo "PN_SMM_ACCOUNT_GRPC_API_KEY=$account_grpc_api_key" >>./super-mario-maker.l echo "PN_SPLATOON_ACCOUNT_GRPC_API_KEY=$account_grpc_api_key" >>./splatoon.local.env echo "PN_MINECRAFT_ACCOUNT_GRPC_API_KEY=$account_grpc_api_key" >>./minecraft-wiiu.local.env echo "PN_PIKMIN3_ACCOUNT_GRPC_API_KEY=$account_grpc_api_key" >>./pikmin-3.local.env +echo "PN_POKKENTOURNAMENT_ACCOUNT_GRPC_API_KEY=$account_grpc_api_key" >>./pokken-tournament.local.env # Generate a secret key for MinIO minio_secret_key=$(generate_password 32) @@ -138,6 +139,10 @@ echo "PN_MINECRAFT_KERBEROS_PASSWORD=$minecraft_kerberos_password" >>./minecraft pikmin3_kerberos_password=$(generate_password 32) echo "PN_PIKMIN3_KERBEROS_PASSWORD=$pikmin3_kerberos_password" >>./pikmin-3.local.env +# Generate a Kerberos password for the Pokken-Tournament server +pokkentournament_kerberos_password=$(generate_password 32) +echo "PN_POKKENTOURNAMENT_KERBEROS_PASSWORD=$pokkentournament_kerberos_password" >>./pokken-tournament.local.env + # Generate an AES key for the Miiverse servers miiverse_aes_key=$(generate_hex 64) echo "PN_MIIVERSE_API_CONFIG_AES_KEY=$miiverse_aes_key" >>./miiverse-api.local.env @@ -156,6 +161,7 @@ echo "PN_SMM_SECURE_SERVER_HOST=$server_ip" >>./super-mario-maker.local.env echo "PN_SPLATOON_SECURE_SERVER_HOST=$server_ip" >>./splatoon.local.env echo "PN_MINECRAFT_SECURE_SERVER_HOST=$server_ip" >>./minecraft-wiiu.local.env echo "PN_PIKMIN3_SECURE_SERVER_HOST=$server_ip" >>./pikmin-3.local.env +echo "PN_POKKENTOURNAMENT_SECURE_SERVER_HOST=$server_ip" >>./pokken-tournament.local.env # Get the Wii U IP address if [[ -n "$wiiu_ip" ]]; then