Unity mirror实现多人同时在线(LINUX)保姆级

话不多说直接开始

1 申请服务器(阿里云/腾讯云)

笔者这边直接白嫖的阿里云一个月,测试学习一个月应该是够了。记得重置密码并记录

申请完成后点击左侧目录找到云服务器。记住这个公有服务器,等等会用到。

2 Unity Mirror 坦克大战场景

在NetworkManager找到对应地址,填写刚刚对应的公网地址;max connections是最大连接数。注意要在阿里云安全组添加对应端口号。不然连接会失败。

 3 编写脚本

需要注意的是上传到Linux端的资源包需要为服务端。而打包出来的游戏文件需要为客户端。编写完脚本挂载到NetworkManager上。勾选时为服务端。不勾选为客户端。

using System.Collections;
using System.Collections.Generic;
using Mirror;
using UnityEngine;

public class AddService : MonoBehaviour
{
    public bool AppIsServer = false;
    private NetworkManager networkManager;
    void Start()
    {
        networkManager = GetComponent<NetworkManager>();
        if (AppIsServer == true)
        {
            networkManager.StartServer();
        }
        else
        {
            networkManager.StartClient();
        }

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

勾选后选择Linux方式打包,要是在TargetPlatform找不到Linux 首先考虑 有没有安装Linux模块。记得勾选Server Build

打包完成后,文件目录内容为

  4 服务器工具WinScp&&可视化工具MobaXterm_Personal_22.2

首先打开WinScp来连接阿里云服务器,输入阿里云用户名和密码。 

然后将刚刚打包出来的文件夹上传到服务器。

 然后使用可视化工具MobaXterm_Personal_22.2。点击Session->SSH->输入账号->控制台输入密码-> cd linux(打包出来的文件夹名)->  chmod +x NetConectTest.x86_64(添加权限) ->./NetConectTest.x86_64(运行可执行文件)。出现Server already started.说明已经启用监听。下一步返回Unity

注意!NetConectTest.x86_64是可执行文件名称。可能根据你们的命名不同前缀不一样。在文件夹中查看x86_64即可

  5 最后一步!

回到Unity取消Bool勾选,切换为客户端。然后BuildSetting切换为Windows。注意取消勾选Server Build。

   6 测试

测试 连接成功 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值