我正在制作我正在制作的游戏的问题,问题是我希望它能够 更新而不去网站下载新版本,你需要登录(它将花费大约3美元)才能玩。问题是我希望jar不能运行,除非你通过游戏启动器运行它。我想要它,以便检查更新并使用登录会话。
我还希望能够在构建游戏时调试游戏,然后设置jar,这样就无法在不启动启动器的情况下运行它并登录然后单击按钮启动它但我不知道的是你是怎么做的这样游戏jar只能从启动器和启动器开始,将登录会话发送到jar,以便知道用户名并知道游戏没有被盗?
答案 0 :(得分:4)
快速简便的方式(但可能不是最好的方式):
您只需将会话数据保存在数据库或加密文件中即可。当启动器退出时,它还应该从数据库中销毁会话
当jar文件运行时,它将从数据库中读取,如果在那里找不到活动会话则中止。
您还可以阻止jar从程序外部运行(即使启动器已在后台运行),也可以通过使其接收某种必须满足某些条件的随机加密密钥(也可以是数据库,在这里使用)。然后,用户必须知道能够手动启动它的密钥
答案 1 :(得分:2)
您可以使用ProcessBuilder并启动新的JVM。
这样的事情可能是:
ProcessBuilder pb = new ProcessBuilder("/path/to/java", "-jar", "your.jar");
pb.directory(new File("preferred/working/directory"));
Process p = pb.start();
希望有所帮助