From 51d76cd451f332e9c35dcf97656b8bafb6a11d13 Mon Sep 17 00:00:00 2001 From: Thayol Date: Mon, 3 Aug 2026 21:00:43 +0200 Subject: [PATCH] Pre-check reachability to avoid long locks --- index.php | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/index.php b/index.php index 9c90b42..f8f0a13 100644 --- a/index.php +++ b/index.php @@ -28,6 +28,20 @@ if ($error_reporting) { ini_set('display_errors', 1); } +$reachable = false; +if (isset($_GET["new"])) { + require "enet_probe.php"; + $host = $_SERVER['REMOTE_ADDR']; + if (!empty($_GET["host"])) { + $host = $_GET["host"]; + } + $port = 50403; + if (!empty($_GET["port"]) && is_numeric($_GET["port"])) { + $port = intval($_GET["port"]); + } + $reachable = enet_probe($host, $port); +} + $dirname = dirname($state_file); if (!is_dir($dirname)) { mkdir($dirname, 0777, true); @@ -66,16 +80,6 @@ if (isset($_GET["list"])) { echo json_encode(["lobbies" => $list]); } elseif (isset($_GET["new"])) { - require "enet_probe.php"; - $host = $_SERVER['REMOTE_ADDR']; - if (!empty($_GET["host"])) { - $host = $_GET["host"]; - } - $port = 50403; - if (!empty($_GET["port"]) && is_numeric($_GET["port"])) { - $port = intval($_GET["port"]); - } - $reachable = enet_probe($host, $port); header("Content-Type: application/json"); if ($reachable) { $id = generate_uuid_v4();