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