Hallo!
Du könntest sowas wie speedtest-cli
nutzen, ich sehe aber auch ein Problem beim Ermitteln der Internetgeschwindigkeit. Wie akurat soll das sein? Angenommen du machst jede Minute einen Download- und Upload-Test, dann klaust du zum einen den anderen Teilnehmern die Geschwindigkeit, zum anderen verfälschen eben diese das Ergebnis.
Ist dein Server auch zeitgleich der Router? Wenn alle Clienten ausnahmslos über deinen Server ins Netz gehen, könnte man dort auch die Verbindungen mitloggen und die Geschwindigkeit, bzw. die Datennutzung (vnstat) überwachen.
Zum bestehen der Verbindung: Welchen Dienst nutzt du zum Verbinden? Falls du bspw. den NetworkManager ohne GUI verwendest, kannst du ein Dispatcher-Script nutzen, mit systemd/networkd wäre eine Fehlerbehandlung ebenfalls möglich.