Class JVMud
java.lang.Object
io.github.protasm.jvmud.execution.application.JVMud
- All Implemented Interfaces:
AutoCloseable
Application entry point and supervisor. Owns public endpoints, administrator identities and worker lifecycles.
LPC execution belongs exclusively to separate worker JVMs; the engine remains available with no mudlibs.
-
Constructor Summary
ConstructorsConstructorDescriptionJVMud(EngineConfiguration configuration) Construction declares application configuration without booting a mudlib or binding a socket. -
Method Summary
Modifier and TypeMethodDescriptionintEngine TLS administration port.Names available for administrative startup, including mudlibs not yet running.voidawait()Blocks on engine lifetime, independently of the number of running mudlibs.Public endpoint binding address.voidclose()Closes engine admission, terminates every worker, and releases private state ownership.describe()Human-readable engine and worker status, with no credentials.Same-account bootstrap and recovery socket path.static voidOperating-system entry point; command-line parsing delegates to the engine launcher.mudlibs()Returns lifecycle snapshots without waiting for a blocked worker.intport()Engine directory port; it never admits players to a mudlib.Revalidates the administrative filesystem boundary before stopping and restarting a mudlib.restartMudlib(String id) Host-facing restart using the previous port pair; administration uses restartManagedMudlib for boundary checks.voidstart()Starts the engine's player, TLS administration and same-account recovery endpoints with zero mudlibs.startMudlib(MudlibSpec spec, int playerPort, int adminPort) Boots a host-supplied manifest and publishes its port pair only after both bindings succeed.startMudlib(String name, int playerPort, int adminPort) Starts an administrator-selected name within the host-configured mudlib directory.voidstopMudlib(String id) Stops only the selected mudlib, closing its listeners and active connections.
-
Constructor Details
-
JVMud
Construction declares application configuration without booting a mudlib or binding a socket.
-
-
Method Details
-
availableMudlibs
Names available for administrative startup, including mudlibs not yet running.- Throws:
IOException
-
startMudlib
Starts an administrator-selected name within the host-configured mudlib directory.- Throws:
IOException
-
restartManagedMudlib
Revalidates the administrative filesystem boundary before stopping and restarting a mudlib.- Throws:
IOException
-
main
Operating-system entry point; command-line parsing delegates to the engine launcher.- Throws:
IOException
-
start
Starts the engine's player, TLS administration and same-account recovery endpoints with zero mudlibs.- Throws:
IOException
-
startMudlib
Boots a host-supplied manifest and publishes its port pair only after both bindings succeed. Administration must use the name overload, which first enforces the catalog boundary.- Throws:
IOException
-
stopMudlib
Stops only the selected mudlib, closing its listeners and active connections. -
restartMudlib
Host-facing restart using the previous port pair; administration uses restartManagedMudlib for boundary checks.- Throws:
IOException
-
mudlibs
Returns lifecycle snapshots without waiting for a blocked worker. -
describe
Human-readable engine and worker status, with no credentials. -
port
public int port()Engine directory port; it never admits players to a mudlib. -
adminPort
public int adminPort()Engine TLS administration port. -
localSocket
Same-account bootstrap and recovery socket path. -
bindAddress
Public endpoint binding address. -
await
Blocks on engine lifetime, independently of the number of running mudlibs.- Throws:
IOException
-
close
public void close()Closes engine admission, terminates every worker, and releases private state ownership.- Specified by:
closein interfaceAutoCloseable
-