在Java中,有一种无需输入ip就可以为游戏制作客户端/服务器系统的方法(例如在Minecraft中)。但是,相反,当用户要求加入游戏时(例如在Fortnite或surviv.io中),让游戏自动将其连接到游戏。
我目前对客户端/服务器唯一了解的方法是必须给每个用户一个服务器ip进行连接(就像在Minecraft中一样,所以我想知道是否可以这样做。
提前感谢。
恕我直言,我认为在所有“ .io”游戏中,它们只是隐藏了注册过程。就我而言,我之前制作的游戏的功能称为“快速播放”。当玩家使用该玩法并首次加入游戏时,我会获得其设备的ID(例如在Android中),然后将其用作该玩家在游戏中的唯一ID(我不确定iOS,但您可以获取在Android中具有独特的价值)。您可以看到以下示例:
_on(TEvent.CONNECTION_SUCCESS, args -> {
var connection = Connection.convert(args[0]);
var message = TObject.convert(args[1]);
info("CONNECTION", connection.getAddress());
// Allow the connection login into server (become a player)
String username = message.getString("u");
// Should confirm that credentials by data from database or other services, here
// is only for testing
_playerApi.login(new PlayerLogin(username), connection);
return null;
});
现在,当新用户登录时,他将发送其设备的ID,我可以将他当作新玩家对待,并将该ID作为他的名字(或为他起一个随机的名字)
您可以在下面的链接中查看更多详细信息:Login Example