mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-04-23 12:39:36 +08:00
Update Project
This commit is contained in:
parent
52c589aa3d
commit
b27813075b
14
FunGameServer.Core/FunGameServer.Core.csproj
Normal file
14
FunGameServer.Core/FunGameServer.Core.csproj
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<BaseOutputPath>C:\milimoe\FunGame\bin</BaseOutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Interface\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.3.32804.467
|
VisualStudioVersion = 17.3.32804.467
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FunGameServer", "FunGameServer.csproj", "{CFC4F490-967B-4F12-883E-86C2A6E61461}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunGameServer", "FunGameServer\FunGameServer.csproj", "{CFC4F490-967B-4F12-883E-86C2A6E61461}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FunGameServer.Core", "FunGameServer.Core\FunGameServer.Core.csproj", "{F5BACA36-3DE2-450A-8518-E5DC29991875}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@ -15,6 +17,10 @@ Global
|
|||||||
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Release|Any CPU.Build.0 = Release|Any CPU
|
{CFC4F490-967B-4F12-883E-86C2A6E61461}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{F5BACA36-3DE2-450A-8518-E5DC29991875}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{F5BACA36-3DE2-450A-8518-E5DC29991875}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{F5BACA36-3DE2-450A-8518-E5DC29991875}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{F5BACA36-3DE2-450A-8518-E5DC29991875}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ApplicationIcon>logo.ico</ApplicationIcon>
|
<ApplicationIcon>logo.ico</ApplicationIcon>
|
||||||
<PackageIcon>logo.ico</PackageIcon>
|
<PackageIcon>logo.ico</PackageIcon>
|
||||||
|
<BaseOutputPath>C:\milimoe\FunGame\bin</BaseOutputPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
@ -29,7 +29,7 @@ try
|
|||||||
|
|
||||||
// 开始监听连接
|
// 开始监听连接
|
||||||
ServerSocket.Listen(Config.MAX_PLAYERS);
|
ServerSocket.Listen(Config.MAX_PLAYERS);
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "服务器启动成功,正在监听 . . .");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "服务器启动成功,正在监听 . . .");
|
||||||
|
|
||||||
while (Running)
|
while (Running)
|
||||||
{
|
{
|
||||||
@ -39,9 +39,9 @@ try
|
|||||||
socket = ServerSocket.Accept();
|
socket = ServerSocket.Accept();
|
||||||
IPEndPoint? clientIP = (IPEndPoint?)socket.RemoteEndPoint;
|
IPEndPoint? clientIP = (IPEndPoint?)socket.RemoteEndPoint;
|
||||||
if (clientIP != null)
|
if (clientIP != null)
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "客户端" + clientIP.ToString() + "连接 . . .");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "客户端" + clientIP.ToString() + "连接 . . .");
|
||||||
else
|
else
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "未知地点客户端连接 . . .");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "未知地点客户端连接 . . .");
|
||||||
if (Read(socket) && Send(socket))
|
if (Read(socket) && Send(socket))
|
||||||
Task.Factory.StartNew(() =>
|
Task.Factory.StartNew(() =>
|
||||||
{
|
{
|
||||||
@ -49,13 +49,13 @@ try
|
|||||||
});
|
});
|
||||||
else
|
else
|
||||||
if (clientIP != null)
|
if (clientIP != null)
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "客户端" + clientIP.ToString() + "连接失败。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "客户端" + clientIP.ToString() + "连接失败。");
|
||||||
else
|
else
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "客户端连接失败。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "客户端连接失败。");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "ERROR: 客户端断开连接!\n" + e.StackTrace);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "ERROR: 客户端断开连接!\n" + e.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ try
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(e.StackTrace);
|
SocketHelper.WriteLine(e.StackTrace);
|
||||||
if (ServerSocket != null)
|
if (ServerSocket != null)
|
||||||
{
|
{
|
||||||
ServerSocket.Close();
|
ServerSocket.Close();
|
||||||
@ -76,6 +76,7 @@ finally
|
|||||||
{
|
{
|
||||||
string? order = "";
|
string? order = "";
|
||||||
order = Console.ReadLine();
|
order = Console.ReadLine();
|
||||||
|
SocketHelper.WriteLine("\r> " + order);
|
||||||
if (order != null && !order.Equals(""))
|
if (order != null && !order.Equals(""))
|
||||||
{
|
{
|
||||||
switch (order)
|
switch (order)
|
||||||
@ -88,7 +89,7 @@ finally
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "服务器已关闭,按任意键退出程序。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "服务器已关闭,按任意键退出程序。");
|
||||||
Console.ReadKey();
|
Console.ReadKey();
|
||||||
|
|
||||||
|
|
||||||
@ -104,14 +105,14 @@ bool Read(Socket socket)
|
|||||||
msg = SocketHelper.GetMessage(msg);
|
msg = SocketHelper.GetMessage(msg);
|
||||||
if (typestring != SocketEnums.TYPE_UNKNOWN)
|
if (typestring != SocketEnums.TYPE_UNKNOWN)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] -> " + msg);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] -> " + msg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "客户端发送了不符合FunGame规定的字符,拒绝连接。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "客户端发送了不符合FunGame规定的字符,拒绝连接。");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "客户端没有回应。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "客户端没有回应。");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,11 +124,11 @@ bool Send(Socket socket)
|
|||||||
buffer = Config.DEFAULT_ENCODING.GetBytes(SocketHelper.MakeMessage((int)SocketEnums.Type.CheckLogin, msg));
|
buffer = Config.DEFAULT_ENCODING.GetBytes(SocketHelper.MakeMessage((int)SocketEnums.Type.CheckLogin, msg));
|
||||||
if (socket.Send(buffer) > 0)
|
if (socket.Send(buffer) > 0)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "[ 客户端 ] <- " + msg);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "[ 客户端 ] <- " + msg);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "无法传输数据,与客户端的连接可能丢失。");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "无法传输数据,与客户端的连接可能丢失。");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -18,7 +18,7 @@ namespace FunGameServer.Models.Config
|
|||||||
public static int SERVER_PORT = 22222; // 默认端口
|
public static int SERVER_PORT = 22222; // 默认端口
|
||||||
public static Encoding DEFAULT_ENCODING = Encoding.UTF8; // 默认传输字符集
|
public static Encoding DEFAULT_ENCODING = Encoding.UTF8; // 默认传输字符集
|
||||||
public static int MAX_CONNECTFAILED = 5; // 最大连接失败次数
|
public static int MAX_CONNECTFAILED = 5; // 最大连接失败次数
|
||||||
public const string CONSOLE_TITLE = "FunGame Server";
|
public const string CONSOLE_TITLE = "FunGame Server"; // 控制台的标题
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// string: 玩家标识ID
|
/// string: 玩家标识ID
|
@ -10,6 +10,7 @@ using System.Data.SqlTypes;
|
|||||||
using FunGameServer.Utils;
|
using FunGameServer.Utils;
|
||||||
using System.Reflection.Metadata;
|
using System.Reflection.Metadata;
|
||||||
using FunGame.Models.Entity;
|
using FunGame.Models.Entity;
|
||||||
|
using System.Net;
|
||||||
|
|
||||||
namespace FunGameServer.Sockets
|
namespace FunGameServer.Sockets
|
||||||
{
|
{
|
||||||
@ -41,7 +42,7 @@ namespace FunGameServer.Sockets
|
|||||||
int type = SocketHelper.GetType(msg);
|
int type = SocketHelper.GetType(msg);
|
||||||
string typestring = SocketHelper.GetTypeString(type);
|
string typestring = SocketHelper.GetTypeString(type);
|
||||||
msg = SocketHelper.GetMessage(msg);
|
msg = SocketHelper.GetMessage(msg);
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] -> " + msg);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] -> " + msg);
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case (int)SocketEnums.Type.GetNotice:
|
case (int)SocketEnums.Type.GetNotice:
|
||||||
@ -62,7 +63,7 @@ namespace FunGameServer.Sockets
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "ERROR:客户端没有回应。\n" + e.StackTrace);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "ERROR:客户端没有回应。\n" + e.StackTrace);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -78,16 +79,16 @@ namespace FunGameServer.Sockets
|
|||||||
if (socket.Send(buffer) > 0)
|
if (socket.Send(buffer) > 0)
|
||||||
{
|
{
|
||||||
if (msg != "")
|
if (msg != "")
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] <- " + msg);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "[ 客户端(" + typestring + ")] <- " + msg);
|
||||||
else
|
//else
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "-> [ 客户端(" + typestring + ")]");
|
// SocketHelper.WriteLine(SocketHelper.GetPrefix() + "-> [ 客户端(" + typestring + ")]");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
throw new Exception();
|
throw new Exception();
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "ERROR:客户端没有回应。" + e.StackTrace);
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "ERROR:客户端没有回应。" + e.StackTrace);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -103,7 +104,7 @@ namespace FunGameServer.Sockets
|
|||||||
private void CreateStreamReader()
|
private void CreateStreamReader()
|
||||||
{
|
{
|
||||||
Thread.Sleep(1000);
|
Thread.Sleep(1000);
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "Creating: StreamReader...OK");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "Creating: StreamReader...OK");
|
||||||
while (Running)
|
while (Running)
|
||||||
{
|
{
|
||||||
if (Socket != null)
|
if (Socket != null)
|
||||||
@ -113,8 +114,8 @@ namespace FunGameServer.Sockets
|
|||||||
FailedTimes++;
|
FailedTimes++;
|
||||||
if (FailedTimes >= Config.MAX_CONNECTFAILED)
|
if (FailedTimes >= Config.MAX_CONNECTFAILED)
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "ERROR: Too Many Faileds.");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "ERROR: Too Many Faileds.");
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "CLOSE: StreamReader is Closed.");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "CLOSE: StreamReader is Closed.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -122,8 +123,8 @@ namespace FunGameServer.Sockets
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "ERROR: Socket is Closed.");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "ERROR: Socket is Closed.");
|
||||||
Console.WriteLine(SocketHelper.GetPrefix() + "CLOSE: StringStream is Closed.");
|
SocketHelper.WriteLine(SocketHelper.GetPrefix() + "CLOSE: StringStream is Closed.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
@ -53,5 +54,10 @@ namespace FunGameServer.Utils
|
|||||||
DateTime now = System.DateTime.Now;
|
DateTime now = System.DateTime.Now;
|
||||||
return now.AddMilliseconds(-now.Millisecond).ToString() + " " + Config.SERVER_NAME + ":";
|
return now.AddMilliseconds(-now.Millisecond).ToString() + " " + Config.SERVER_NAME + ":";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void WriteLine(string? msg)
|
||||||
|
{
|
||||||
|
Console.Write("\r" + msg + "\n\r> ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Loading…
x
Reference in New Issue
Block a user