目录
环境配置
window系统:Windows 10 专业版
Unity:2019.3.0f 下载地址:https://download.unitychina.cn/download_unity/27ab2135bccf/Windows64EditorInstaller/UnitySetup64.exe
.Net Core:3.1.405 下载地址:https://download.visualstudio.microsoft.com/download/pr/c5cf65f5-85ca-4ae0-9c36-a0e0a852c218/07b9418c61804efb0fb079c28b1b1c90/dotnet-sdk-3.1.405-win-x64.exe
ET框架下载地址:https://gitee.com/egametang/ET/tree/Branch_V5.0/
VS编辑器下载地址:https://visualstudio.microsoft.com/zh-hans/vs/
UnityHub2.4.3
第一步 服务端启动
下载上面并安装好
VS编辑器勾上下面两个内容
a. .net 桌面开发
b. visual studio tools for unity
使用vs2019打开ET里的Client-Server.sln,对Server.App右键---属性
选中左侧的应用程序,选中目标框架.NET Core 3.1
选中左侧的调试,选中应用程序参数修改为:--id=1 --config=../StartConfig/AllServer.txt
对Server.App右键---生成(U),日志如下
点击如下:
效果如下:代表成功!!!Congratulations!!!
第二部 客户端启动
Unity基础网上挺多的,建议先看看。
打开UnityHub,登录并激活许可证
添加ET项目中Unity
点击打开,选择升级。
选中Projects下的Assets, 右键选中Open C# Project
右键解决方案选择生成解决方案
输出如下:
换到Project中的Scenes,选中Init 双击 如下图:
点击播放按钮如下图:
恭喜你!!!!! ET5.0官方Demo 启动成功!!!!Congratulations!!!!!
--------------------------------------------------------------------------------------------------------------------------------------------------------------补充-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
修复服务器控制台没有日志输出情况!
点击进入server文件夹打开server.sln这个解决方案
1.然后找到server.App这个项目,打开后,删了NLog.xsd 把里面的全删了
2.复制如下代码 黏贴到 \ET\Server\App\NLog.config 中 打开server.App 中的NLog.config的Xml
将如下复制下去
3.修改完成后右键点击解决方案"Server"这个几个字 右键重新生成一下
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="appType" value="" />
<variable name="appId" value="" />
<targets>
<target name="all" xsi:type="File"
fileName="${basedir}/../Logs/Log.txt"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
</targets>
<targets>
<target name="trace" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Trace/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
<target name="traceConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
</targets>
<targets>
<target name="debug" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Debug/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
<target name="debugConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
</targets>
<targets>
<target name="info" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Info/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
<target name="infoConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
</targets>
<targets>
<target name="error" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Error/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
<target name="errorConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
</targets>
<targets>
<target name="warn" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Warning/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message}" />
<target name="warnConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message}" />
</targets>
<targets>
<target name="fatal" xsi:type="File"
openFileCacheTimeout="3600"
ConcurrentWrites="false"
fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Fatal/${shortdate}.log"
deleteOldFileOnStartup="false"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
<target name="fatalConsole" type="ColoredConsole"
layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="all" />
<logger name="*" minlevel="Trace" maxlevel="Trace" writeTo="trace" />
<logger name="*" minlevel="Trace" maxlevel="Trace" writeTo="traceConsole" />
<logger name="*" minlevel="Debug" maxlevel="Debug" writeTo="debug" />
<logger name="*" minlevel="Debug" maxlevel="Debug" writeTo="debugConsole" />
<logger name="*" minlevel="Info" maxlevel="Info" writeTo="info" />
<logger name="*" minlevel="Info" maxlevel="Info" writeTo="infoConsole" />
<logger name="*" minlevel="Warn" maxlevel="Warn" writeTo="warn" />
<logger name="*" minlevel="Warn" maxlevel="Warn" writeTo="warnConsole" />
<logger name="*" minlevel="Error" maxlevel="Error" writeTo="error" />
<logger name="*" minlevel="Error" maxlevel="Error" writeTo="errorConsole" />
<logger name="*" minlevel="Fatal" maxlevel="Fatal" writeTo="fatal" />
<logger name="*" minlevel="Fatal" maxlevel="Fatal" writeTo="fatalConsole" />
</rules>
</nlog>