JasonWang 6 роки тому
батько
коміт
048ea0006d

+ 1 - 1
NuGet.config

@@ -5,7 +5,7 @@
   <packageSources>
     <clear />
     <add key="moeathome" value="https://www.myget.org/F/moeathome-public/api/v3/index.json" />
-    <add key="orleans-prerlease" value="https://dotnet.myget.org/F/orleans-prerelease/api/v3/index.json" />
+    <add key="orleans-ci" value="https://dotnet.myget.org/F/orleans-ci/api/v3/index.json" />
     <add key="corefxlab" value="https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json"/>
     <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
     <add key="dotnet-core" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" />

+ 2 - 0
README-zh.md

@@ -7,6 +7,8 @@ MineCase
 
 本项目使用 `.NET Core` 编写,基于 [orleans](https://github.com/dotnet/orleans) 框架。它通过 Actor 模型将各个模块分离开来,从而构建一个高效的分布式系统。
 
+不同的区块由不同的服务器管理,所有的玩家都可以在同一个世界进行游戏,这位minecraft服务器带来了更多的拓展性
+
 目前仅支持 `Minecraft` [1.12](https://minecraft.net/en-us/article/minecraft-112-pre-release-6) 的版本。
 
 ![Screenshots](screenshots/1.jpg)

+ 3 - 2
README.md

@@ -4,8 +4,9 @@ MineCase
 #### [![Build Status](https://travis-ci.org/dotnetGame/MineCase.svg?branch=master)](https://travis-ci.org/dotnetGame/MineCase)   [![Build status](https://ci.appveyor.com/api/projects/status/w9h243k1lqee2ke5/branch/master?svg=true)](https://ci.appveyor.com/project/sunnycase/minecase/branch/master)
  
 `MineCase` is a cross-platform application with distributed server of `Minecraft`. 
-the project is designed to create a high-performance, distributed system by using isolating different components through actor mode. 
-it written in `C#` with `.NET Core 2.0` env and based on `orleans` framework to work with released [1.12 protocol](https://minecraft.net/en-us/article/minecraft-112-pre-release-6).
+The project is designed to create a high-performance, distributed system by using isolating different components through actor mode. 
+Different chunks are managed by different servers so that all players can play in a world. This brings minecraft servers more scalability.
+It written in `C#` with `.NET Core 2.0` env and based on `orleans` framework to work with released [1.12 protocol](https://minecraft.net/en-us/article/minecraft-112-pre-release-6).
 
 ![Screenshots](screenshots/1.jpg)
 

+ 3 - 3
src/MineCase.Algorithm/MineCase.Algorithm.csproj

@@ -10,9 +10,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" PrivateAssets="All" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
-    <PackageReference Include="Stateless" Version="4.0.0" />
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
+    <PackageReference Include="Stateless" Version="4.2.1" />
   </ItemGroup>
 
   <ItemGroup>

+ 8 - 5
src/MineCase.Engine/MineCase.Server.Engine.csproj

@@ -13,15 +13,18 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Orleans.Core" Version="2.0.0-beta1" />
-    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.0.0-dev20171106" />
+    <PackageReference Include="Microsoft.Orleans.Core" Version="2.3.4" />
+    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.3.4">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
+    </PackageReference>
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" PrivateAssets="All" />
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
     <PackageReference Include="System.Collections.Generic.MultiValueDictionary" Version="0.1.0-e170912-3" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.0.0" />
-    <PackageReference Include="MongoDB.Bson" Version="2.4.4" />
+    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.2.0" />
+    <PackageReference Include="MongoDB.Bson" Version="2.8.1" />
   </ItemGroup>
 
   <ItemGroup>

+ 3 - 2
src/MineCase.Gateway/MineCase.Gateway.csproj

@@ -29,14 +29,15 @@
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
     <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
     <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
     <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
     <PackageReference Include="Microsoft.Extensions.ObjectPool" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Orleans.Client" Version="2.0.0-beta1" />
+    <PackageReference Include="Microsoft.Orleans.Client" Version="2.3.4" />
     <PackageReference Include="Polly" Version="5.5.0" />
     <PackageReference Include="sharpcompress" Version="0.19.2" />
+    <PackageReference Include="SixLabors.ImageSharp" Version="1.0.0-beta0006" />
   </ItemGroup>
 
   <ItemGroup>

+ 3 - 3
src/MineCase.Serialization/MineCase.Serialization.csproj

@@ -6,10 +6,10 @@
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
   </PropertyGroup>
-  
+
   <ItemGroup>
-    <PackageReference Include="MongoDB.Bson" Version="2.4.4" />
-    <PackageReference Include="Microsoft.Orleans.Core" Version="2.0.0-beta1" />
+    <PackageReference Include="Microsoft.Orleans.Core" Version="2.3.4" />
+    <PackageReference Include="MongoDB.Bson" Version="2.8.1" />
   </ItemGroup>
 
   <ItemGroup>

+ 10 - 7
src/MineCase.Server.Grains/MineCase.Server.Grains.csproj

@@ -35,16 +35,19 @@
 
   <ItemGroup>
     <PackageReference Include="Autofac" Version="4.6.1" />
+    <PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="2.2.0" />
     <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Abstractions" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="2.0.0" />
     <PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="1.2.2" />
-    <PackageReference Include="Microsoft.Orleans.Core" Version="2.0.0-beta1" />
+    <PackageReference Include="Microsoft.Orleans.Core" Version="2.3.4" />
     <PackageReference Include="Microsoft.Orleans.OrleansRuntime" Version="2.0.0-beta1" />
-    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.0.0-dev20171106" />
-    <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" PrivateAssets="All" />
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
+    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.3.4">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
+    </PackageReference>
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
+    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
     <PackageReference Include="MongoDB.Driver" Version="2.4.4" />
     <PackageReference Include="System.Threading.Tasks.Dataflow" Version="4.7.0" />
   </ItemGroup>

+ 2 - 1
src/MineCase.Server.Grains/User/UserLifecycle.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Text;
+using Microsoft.Extensions.Logging;
 using Orleans;
 using Orleans.Runtime;
 
@@ -8,7 +9,7 @@ namespace MineCase.Server.User
 {
     internal class UserLifecycle : LifecycleObservable, IUserLifecycle
     {
-        public UserLifecycle(Logger logger)
+        public UserLifecycle(ILogger logger)
             : base(logger)
         {
         }

+ 7 - 4
src/MineCase.Server.Interfaces/MineCase.Server.Interfaces.csproj

@@ -12,10 +12,13 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Orleans.Core" Version="2.0.0-beta1" />
-    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.0.0-dev20171106" />
-    <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" PrivateAssets="All" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
+    <PackageReference Include="Microsoft.Orleans.Core" Version="2.3.4" />
+    <PackageReference Include="Microsoft.Orleans.OrleansCodeGenerator.Build" Version="2.3.4">
+      <PrivateAssets>all</PrivateAssets>
+      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
+    </PackageReference>
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
   </ItemGroup>
 
   <ItemGroup>

+ 10 - 10
src/MineCase.Server/MineCase.Server.csproj

@@ -29,17 +29,17 @@
   <ItemGroup>
     <PackageReference Include="Autofac" Version="4.6.2" />
     <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.2.0" />
-    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Extensions.Logging" Version="2.2.0" />
     <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.0.0" />
-    <PackageReference Include="Microsoft.Orleans.Server" Version="2.0.0-beta1" />
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
-    <PackageReference Include="Orleans.Providers.MongoDB" Version="2.0.0-preview2" />
-    <PackageReference Include="OrleansDashboard" Version="2.0.0-beta3"/>
+    <PackageReference Include="Microsoft.Extensions.Options" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.2.0" />
+    <PackageReference Include="Microsoft.Orleans.Server" Version="2.3.4" />
+    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
+    <PackageReference Include="Orleans.Providers.MongoDB" Version="2.4.0" />
+    <PackageReference Include="OrleansDashboard" Version="2.3.4" />
   </ItemGroup>
 
   <ItemGroup>

+ 4 - 4
tests/UnitTest/MineCase.UnitTest.csproj

@@ -9,13 +9,13 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="ImageSharp" Version="1.0.0-alpha9-00187" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
+    <PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
+    <PackageReference Include="SixLabors.ImageSharp" Version="1.0.0-beta0006" />
     <PackageReference Include="xunit" Version="2.3.1" />
     <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-    <PackageReference Include="StyleCop.Analyzers" Version="1.1.0-beta004" PrivateAssets="All" />
-    <PackageReference Include="System.Numerics.Vectors" Version="4.4.0" />
+    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" PrivateAssets="All" />
+    <PackageReference Include="System.Numerics.Vectors" Version="4.5.0" />
   </ItemGroup>
 
   <ItemGroup>

+ 5 - 5
tests/UnitTest/NoiseTest.cs

@@ -5,8 +5,8 @@ using System.Numerics;
 using System.Reflection;
 using System.Runtime.CompilerServices;
 using System.Text;
-using ImageSharp;
 using MineCase.Algorithm.Noise;
+using SixLabors.ImageSharp;
 using Xunit;
 
 namespace MineCase.UnitTest
@@ -30,7 +30,7 @@ namespace MineCase.UnitTest
             const int yExtent = 100;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "PerlinNoise3D.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 var noise = new PerlinNoise(100);
                 var noiseValue = new float[xExtent, yExtent, 1];
@@ -40,7 +40,7 @@ namespace MineCase.UnitTest
                     for (int y = 0; y < yExtent; y++)
                     {
                         var color = (byte)(noiseValue[x, y, 0] * 255);
-                        image[x, y] = new ImageSharp.PixelFormats.Rgb24(color, color, color);
+                        image[x, y] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color);
                     }
                 }
 
@@ -55,7 +55,7 @@ namespace MineCase.UnitTest
             const int yExtent = 100;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "OctavedPerlinNoise3D.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 var noise = new OctavedNoise<PerlinNoise>(new PerlinNoise(100), 8, 0.25f);
                 var noiseValue = new float[xExtent, yExtent, 1];
@@ -65,7 +65,7 @@ namespace MineCase.UnitTest
                     for (int y = 0; y < yExtent; y++)
                     {
                         var color = (byte)(noiseValue[x, y, 0] * 255);
-                        image[x, y] = new ImageSharp.PixelFormats.Rgb24(color, color, color);
+                        image[x, y] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color);
                     }
                 }
 

+ 9 - 9
tests/UnitTest/RNGTest.cs

@@ -4,8 +4,8 @@ using System.Diagnostics;
 using System.IO;
 using System.Runtime.CompilerServices;
 using System.Text;
-using ImageSharp;
 using MineCase.Algorithm;
+using SixLabors.ImageSharp;
 using Xunit;
 
 namespace MineCase.UnitTest
@@ -60,7 +60,7 @@ namespace MineCase.UnitTest
             const int yExtent = 200;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_frequency.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 for (int i = 0; i < 10000; ++i)
                 {
@@ -71,7 +71,7 @@ namespace MineCase.UnitTest
                 {
                     for (int j = 0; j < bucket[i]; ++j)
                     {
-                        image[i, yExtent - j] = new ImageSharp.PixelFormats.Rgb24(0xFF, 0x69, 0xB4);
+                        image[i, yExtent - j] = new SixLabors.ImageSharp.PixelFormats.Rgb24(0xFF, 0x69, 0xB4);
                     }
                 }
 
@@ -88,14 +88,14 @@ namespace MineCase.UnitTest
             const int yExtent = 100;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_int_noise.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 for (int i = 0; i < xExtent; ++i)
                 {
                     for (int j = 0; j < yExtent; ++j)
                     {
                         var color = (byte)rng.Uniform(0, 255);
-                        image[i, j] = new ImageSharp.PixelFormats.Rgb24(color, color, color);
+                        image[i, j] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color);
                     }
                 }
 
@@ -112,14 +112,14 @@ namespace MineCase.UnitTest
             const int yExtent = 100;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_float_noise.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 for (int i = 0; i < xExtent; ++i)
                 {
                     for (int j = 0; j < yExtent; ++j)
                     {
                         var color = (byte)(rng.Uniform(0.0f, 2.55f) * 100);
-                        image[i, j] = new ImageSharp.PixelFormats.Rgb24(color, color, color);
+                        image[i, j] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color);
                     }
                 }
 
@@ -136,14 +136,14 @@ namespace MineCase.UnitTest
             const int yExtent = 100;
 
             using (var file = File.OpenWrite(Path.Combine(RootDir, "rng_double_noise.bmp")))
-            using (var image = new Image<ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
+            using (var image = new Image<SixLabors.ImageSharp.PixelFormats.Rgb24>(xExtent, yExtent))
             {
                 for (int i = 0; i < xExtent; ++i)
                 {
                     for (int j = 0; j < yExtent; ++j)
                     {
                         var color = (byte)(rng.Uniform(0.0, 2.55) * 100);
-                        image[i, j] = new ImageSharp.PixelFormats.Rgb24(color, color, color);
+                        image[i, j] = new SixLabors.ImageSharp.PixelFormats.Rgb24(color, color, color);
                     }
                 }