Max*_*nov 6 backend unity-game-engine server
我正在使用Unity引擎开发基本的MMORPG.我需要一个简单的解决方案(库,框架)来创建一个高效的服务器.完成此任务的最佳方法是什么?
Dav*_*vid 11
原帖是在这里.
具体来说,您可以连接到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);
Run Code Online (Sandbox Code Playgroud)
要登录并在登录成功时迷上:
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);
Run Code Online (Sandbox Code Playgroud)
2. Photon是另一种流行的后端服务器/服务.
Photon Server为您提供多人游戏的交钥匙框架.从头开始或使用免费服务器SDK在源代码中包含的几个演示应用程序之上构建您自己的自定义逻辑.这使您可以快速轻松地获得出色的结果.
用于设置连接的代码段:
using UnityEngine;
public class RandomMatchmaker : MonoBehaviour
{
void Start() {
PhotonNetwork.ConnectUsingSettings("0.1");
}
void OnGUI(){
GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
加入会议室/大厅的代码片段:
public override void OnJoinedLobby()
{
PhotonNetwork.JoinRandomRoom();
}
Run Code Online (Sandbox Code Playgroud)
设置日志记录的代码段:
PhotonNetwork.logLevel = PhotonLogLevel.Full;
Run Code Online (Sandbox Code Playgroud)
用于错误处理的代码段:
void OnPhotonRandomJoinFailed()
{
Debug.Log("Can't join random room!");
PhotonNetwork.CreateRoom(null);
}
Run Code Online (Sandbox Code Playgroud)
可在此处找到有关此主题的精彩教程.
3. Firebase可能是第三选择,但性能可能不明确.
4.其他(OpenSpace,RedDwarf,ElectroServer,Player.IO,Red5,Mesmotronic多用户服务器等)
有关详细信息,请参阅此精彩帖
| 归档时间: |
|
| 查看次数: |
6465 次 |
| 最近记录: |