Package pro.gravit.launchserver
Class LaunchServer
- java.lang.Object
-
- pro.gravit.launchserver.LaunchServer
-
- All Implemented Interfaces:
java.lang.AutoCloseable,java.lang.Runnable,Reconfigurable
public final class LaunchServer extends java.lang.Object implements java.lang.Runnable, java.lang.AutoCloseable, Reconfigurable
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceLaunchServer.LaunchServerConfigManagerstatic classLaunchServer.LaunchServerDirectoriesstatic classLaunchServer.LaunchServerEnvstatic classLaunchServer.ReloadType
-
Field Summary
-
Constructor Summary
Constructors Constructor Description LaunchServer(LaunchServer.LaunchServerDirectories directories, LaunchServer.LaunchServerEnv env, LaunchServerConfig config, LaunchServerRuntimeConfig runtimeConfig, LaunchServer.LaunchServerConfigManager launchServerConfigManager, LaunchServerModulesManager modulesManager, java.security.interfaces.ECPublicKey publicKey, java.security.interfaces.ECPrivateKey privateKey, pro.gravit.utils.command.CommandHandler commandHandler, CertificateManager certificateManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildLauncherBinaries()voidclose()voidfullyRestart()java.util.Map<java.lang.String,pro.gravit.utils.command.Command>getCommands()Gets a list of commands available for this object.java.util.List<pro.gravit.launcher.profiles.ClientProfile>getProfiles()pro.gravit.launcher.hasher.HashedDirgetUpdateDir(java.lang.String name)java.util.Set<java.util.Map.Entry<java.lang.String,pro.gravit.launcher.hasher.HashedDir>>getUpdateDirs()voidrebindNettyServerSocket()voidregisterObject(java.lang.String name, java.lang.Object object)voidreload(LaunchServer.ReloadType type)voidrestart()voidrun()voidsetProfiles(java.util.List<pro.gravit.launcher.profiles.ClientProfile> profilesList)voidsyncLauncherBinaries()voidsyncProfilesDir()voidsyncUpdatesDir(java.util.Collection<java.lang.String> dirs)voidunregisterObject(java.lang.String name, java.lang.Object object)
-
-
-
Field Detail
-
defaultLauncherEXEBinaryClass
public static final java.lang.Class<? extends LauncherBinary> defaultLauncherEXEBinaryClass
-
dir
public final java.nio.file.Path dir
-
env
public final LaunchServer.LaunchServerEnv env
-
launcherLibraries
public final java.nio.file.Path launcherLibraries
-
launcherLibrariesCompile
public final java.nio.file.Path launcherLibrariesCompile
-
caCertFile
public final java.nio.file.Path caCertFile
-
caKeyFile
public final java.nio.file.Path caKeyFile
-
serverCertFile
public final java.nio.file.Path serverCertFile
-
serverKeyFile
public final java.nio.file.Path serverKeyFile
-
updatesDir
public final java.nio.file.Path updatesDir
-
launchServerConfigManager
public final LaunchServer.LaunchServerConfigManager launchServerConfigManager
-
profilesDir
public final java.nio.file.Path profilesDir
-
runtime
public final LaunchServerRuntimeConfig runtime
-
publicKey
public final java.security.interfaces.ECPublicKey publicKey
-
privateKey
public final java.security.interfaces.ECPrivateKey privateKey
-
launcherBinary
public final JARLauncherBinary launcherBinary
-
launcherEXEBinaryClass
public final java.lang.Class<? extends LauncherBinary> launcherEXEBinaryClass
-
launcherEXEBinary
public final LauncherBinary launcherEXEBinary
-
sessionManager
public final SessionManager sessionManager
-
authHookManager
public final AuthHookManager authHookManager
-
modulesManager
public final LaunchServerModulesManager modulesManager
-
mirrorManager
public final MirrorManager mirrorManager
-
reconfigurableManager
public final ReconfigurableManager reconfigurableManager
-
configManager
public final pro.gravit.launcher.managers.ConfigManager configManager
-
pingServerManager
public final PingServerManager pingServerManager
-
featuresManager
public final FeaturesManager featuresManager
-
certificateManager
public final CertificateManager certificateManager
-
proguardConf
public final ProguardConf proguardConf
-
commandHandler
public final pro.gravit.utils.command.CommandHandler commandHandler
-
nettyServerSocketHandler
public final NettyServerSocketHandler nettyServerSocketHandler
-
taskPool
public final java.util.Timer taskPool
-
started
public final java.util.concurrent.atomic.AtomicBoolean started
-
launcherModuleLoader
public final LauncherModuleLoader launcherModuleLoader
-
config
public LaunchServerConfig config
-
updatesDirMap
public volatile java.util.Map<java.lang.String,pro.gravit.launcher.hasher.HashedDir> updatesDirMap
-
-
Constructor Detail
-
LaunchServer
public LaunchServer(LaunchServer.LaunchServerDirectories directories, LaunchServer.LaunchServerEnv env, LaunchServerConfig config, LaunchServerRuntimeConfig runtimeConfig, LaunchServer.LaunchServerConfigManager launchServerConfigManager, LaunchServerModulesManager modulesManager, java.security.interfaces.ECPublicKey publicKey, java.security.interfaces.ECPrivateKey privateKey, pro.gravit.utils.command.CommandHandler commandHandler, CertificateManager certificateManager) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
reload
public void reload(LaunchServer.ReloadType type) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getCommands
public java.util.Map<java.lang.String,pro.gravit.utils.command.Command> getCommands()
Description copied from interface:ReconfigurableGets a list of commands available for this object.- Specified by:
getCommandsin interfaceReconfigurable- Returns:
- Key - Command Name Value is a command object
-
buildLauncherBinaries
public void buildLauncherBinaries() throws java.io.IOException- Throws:
java.io.IOException
-
close
public void close() throws java.lang.Exception- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.lang.Exception
-
getProfiles
public java.util.List<pro.gravit.launcher.profiles.ClientProfile> getProfiles()
-
setProfiles
public void setProfiles(java.util.List<pro.gravit.launcher.profiles.ClientProfile> profilesList)
-
getUpdateDir
public pro.gravit.launcher.hasher.HashedDir getUpdateDir(java.lang.String name)
-
getUpdateDirs
public java.util.Set<java.util.Map.Entry<java.lang.String,pro.gravit.launcher.hasher.HashedDir>> getUpdateDirs()
-
rebindNettyServerSocket
public void rebindNettyServerSocket()
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
syncLauncherBinaries
public void syncLauncherBinaries() throws java.io.IOException- Throws:
java.io.IOException
-
syncProfilesDir
public void syncProfilesDir() throws java.io.IOException- Throws:
java.io.IOException
-
syncUpdatesDir
public void syncUpdatesDir(java.util.Collection<java.lang.String> dirs) throws java.io.IOException- Throws:
java.io.IOException
-
restart
public void restart()
-
registerObject
public void registerObject(java.lang.String name, java.lang.Object object)
-
unregisterObject
public void unregisterObject(java.lang.String name, java.lang.Object object)
-
fullyRestart
public void fullyRestart()
-
-