Java 如何使.jar文件只在一台计算机上运行?

Java 如何使.jar文件只在一台计算机上运行?,java,Java,我正在制作一个游戏,我将游戏发送给我的朋友进行测试,并向我报告他们发现的错误,但我不希望游戏被传播,因为它仍然是一个WIP。我怎样才能让它只在特定的计算机上运行呢 我的想法是: public class Auth { private static String neededMacAddress = "18-5E-0F-14-D2-91"; private static String systemID = System.getMAC(); //this is not it

我正在制作一个游戏,我将游戏发送给我的朋友进行测试,并向我报告他们发现的错误,但我不希望游戏被传播,因为它仍然是一个WIP。我怎样才能让它只在特定的计算机上运行呢

我的想法是:

public class Auth {

     private static String neededMacAddress = "18-5E-0F-14-D2-91";

     private static String systemID = System.getMAC(); //this is not it obviously

     public static void main(String args[]) {
         if (systemID.equals(neededSystemID)) {

         new Game();

         }
     }
}

编辑:我会在一两年后编辑这篇文章,因为我需要修正我的问题,以便提出更多问题,现在我对编程有了更多的了解。当我问这个问题的时候,我刚上完第一堂CS课几周。我可以回答这个问题,但我需要根据指导原则对其进行编辑。

启动游戏时,您可以使游戏代码读取客户端MAC地址并将其发送到服务器,然后在服务器上生成密钥并将其发送回客户端,然后游戏将开始。但是,如果客户端伪造其MAC地址,则此操作将失败。试试看。希望能有帮助


此链接有

我不知道如何获取系统ID您如何告知系统ID?efi序列号?你希望你的程序运行在哪个os-du上,如果有的话?也许这可以帮助你:这可能有点棘手。。。您是否计划在linux、windows上运行此功能…?您确定花时间实施此限制值得吗?如果有人想绕过这个问题,他们要么修改字节码,要么找到其他解决办法。这个功能会给你的产品带来什么价值?为什么你的beta测试人员(你的朋友,他们可能会免费做这个测试)会在多台机器上测试它?