我正在使用Unity引擎开发基本的MMORPG.我需要一个简单的解决方案(库,框架)来创建一个高效的服务器.完成此任务的最佳方法是什么?
原帖是在这里.
你可以试试SmartFox,这个链接可能是一个很好的开始.以下教程也有助于快速入门:
使用SmartFox和C#(I):安装和第一次握手
使用SmartFox和C#(II):登录并加入会议室
使用SmartFox和C#(III):常用功能
具体来说,您可以连接到smartfox服务器并获得连接通知:
private SmartFox client; private string serverIP = "127.0.0.1"; private int serverPort = 9933; private string zone = "BasicExamples"; client = new SmartFox(); client.ThreadSafeMode = false; //true for Unity3D client.AddEventListener(SFSEvent.CONNECTION, (evt) => { bool bSuccess = (bool)evt.Params[“success”]; Console.WriteLine(client.IsConnected ? “Successfully connected to SmartFox Server” : “Failed to connect to SmartFox Server”); }); client.Connect(serverIP, serverPort);
要登录并在登录成功时迷上:
var request = new LoginRequest("UserName", "Password", zone); //[1] client.Send(request); //[2] client.AddEventListener(SFSEvent.LOGIN, (evt) => { //[3] Console.WriteLine("The User login success"); }); client.Connect(serverIP, serverPort);
2. Photon是另一种流行的后端服务器/服务.
Photon Server为您提供多人游戏的交钥匙框架.从头开始或使用免费服务器SDK在源代码中包含的几个演示应用程序之上构建您自己的自定义逻辑.这使您可以快速轻松地获得出色的结果.
用于设置连接的代码段:
using UnityEngine; public class RandomMatchmaker : MonoBehaviour { void Start() { PhotonNetwork.ConnectUsingSettings("0.1"); } void OnGUI(){ GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString()); } }
加入会议室/大厅的代码片段:
public override void OnJoinedLobby() { PhotonNetwork.JoinRandomRoom(); }
设置日志记录的代码段:
PhotonNetwork.logLevel = PhotonLogLevel.Full;
用于错误处理的代码段:
void OnPhotonRandomJoinFailed() { Debug.Log("Can't join random room!"); PhotonNetwork.CreateRoom(null); }
可在此处找到有关此主题的精彩教程.
3. Firebase可能是第三选择,但性能可能不明确.
例如,在roll20.net中,您可能会发现由Firbase提供支持的MMO游戏.
其中,FireSharp可能是一个非常有用的开源项目,可以让您快速入门.
4.其他(OpenSpace,RedDwarf,ElectroServer,Player.IO,Red5,Mesmotronic多用户服务器等)
有关详细信息,请参阅此精彩帖