问题描述
我知道这个问题可能看起来有点......嗯......很大或离题,但请理解我:我是一个 12 岁的年轻程序员,努力做到最好。
我想在 Unity 中制作多人游戏,但服务器是主机的设备 ( 如果您听起来很熟悉,是的,它的灵感来自 8 人的 minecraft 多人游戏)。
所以,我希望有人托管游戏(就像有人打开游戏并且他/她的设备成为服务器)。我该怎么做?
P.S.:游戏将是 2D 的,并且实际上是轻量级的(最多 2 名玩家),因此不会消耗大量资源。
P.S. 2:我希望游戏有一个独特的代码或其他玩家加入的东西。
P.S. 3:我会用C#写游戏。
先谢谢你! ;-)
解决方法
这是一个很酷的项目,祝你取得成功。 有很多方法可以满足您的要求。
例如,托管服务器的人可以将一些代码共享给其他玩家(解密时包含要连接的 IP 地址),或直接共享 IP 地址。例如 MTI3LjAuMC4xOjIwMDAK 是 127.0.0.1:2000 的 base64 编码,仅使用以下代码行
//Encode in base 64
public static string Base64Encode(string plainText) {
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
更高级的情况是,您有两台服务器,一个供玩家通知他正在托管一个服务器,并且该服务器将被列出,并且他的朋友可以从主服务器看到该服务器,而主服务器只是列出并检查谁可以访问哪些服务器例如,基于朋友列表。
等等......
如果是一个简单的项目,我可能会选择选项 1。