2025-10-15 21:12:07 +08:00
package moe.sob ;
2023-03-28 19:24:11 +08:00
import org.bukkit.Bukkit ;
import org.bukkit.Server ;
import java.net.InetSocketAddress ;
import java.net.Socket ;
public class ServerUtils {
public static int port = 25565 ;
2025-10-15 21:12:07 +08:00
public static String address_fallback = " localhost " ;
2023-03-28 19:24:11 +08:00
public static String webhook_notify = Main . getNotifyWebhook ( ) ;
public static String webhook_messages = Main . getPublicMessageWebhook ( ) ;
2023-04-19 00:33:46 +08:00
public static String address = Utils . getServerHostPublicIP ( ) ;
2023-03-28 19:24:11 +08:00
public static boolean serverIsUp ( String serverAddress , Integer serverPort ) {
try {
Server server = Bukkit . getServer ( ) ;
Socket s = new Socket ( ) ;
2023-03-29 16:36:55 +08:00
s . connect ( new InetSocketAddress ( serverAddress , Integer . parseInt ( serverPort . toString ( ) ) ) , 15 ) ;
2023-03-28 19:24:11 +08:00
s . close ( ) ;
2026-01-17 12:18:22 +08:00
Bukkit . getConsoleSender ( ) . sendMessage ( " Server is online. Test notifying by sending a message to your webhook... (Pinged " + serverAddress + " : " + server . getPort ( ) + " ) " ) ;
2023-03-28 19:24:11 +08:00
return true ;
} catch ( Exception e ) {
System . out . println ( " Server is inactive. Pinging fallback address... " ) ;
try {
Server server = Bukkit . getServer ( ) ;
Socket s = new Socket ( ) ;
s . connect ( new InetSocketAddress ( address_fallback , Integer . parseInt ( serverPort . toString ( ) ) ) , 15 ) ;
s . close ( ) ;
2026-01-17 12:18:22 +08:00
Bukkit . getConsoleSender ( ) . sendMessage ( " Server is online. Sending message to webhook_notify... (Pinged " + Utils . getServerHostPublicIP ( ) + " : " + server . getPort ( ) + " ) " ) ;
2023-03-29 16:36:55 +08:00
return true ;
2023-03-28 19:24:11 +08:00
} catch ( Exception err ) {
2026-01-17 12:18:22 +08:00
Bukkit . getConsoleSender ( ) . sendMessage ( " Fallback address is inactive. No longer pinging... " ) ;
2023-03-28 19:24:11 +08:00
}
return false ;
}
}
}