Git Product home page Git Product logo

minecase's Introduction

MineCase

Financial Contributors on Open Collective Build Status Build status

Patreon donate button

Logo

MineCase is a Minecraft server implement in dotnet core. The project is designed to create a high-performance, distributed Minecraft server with virtual actor provided by Orleans distributed framework. Different chunks are managed on different servers so that more players can join in and play in the same world. This makes minecraft servers more scalable. Servers like Anarchy servers can allow more players to join in without waiting in queue by using distributed server. It written in C# with .NET Core 3.1 env and based on orleans framework to work with released 1.15.2 protocol. The website describes the Minecraft protocol clearly.

MineCase is under refactoring, so branch refactor may not work.

MineCase is not stable and lack of many features now. Please don't use MineCase in production unless you know what you're doing.

Screenshots

Run Requirements

Install (Build From Source)

  • 1 . Download and install a .NET Core sdk from this page.

  • 2 . Download and install a MongoDB from this page.

  • 3 . Download a MineCase archive from the github page (or clone:)

     git clone [email protected]:dotnetGame/MineCase.git
     cd MineCase
  • 4 . Un-zip Minecase archive.

  • 5 . Build and run the build_and_run

    • OSX : Run the build_and_run.sh.
    • Linux : Run the build_and_run.sh.
    • Win : Double-click build_and_run.bat.

How it works

None

Contributors

sunnycasejstzwjakemimadokaAlinshansray-castMelonpizaoqi

Credits

Patreon backers

Wooden Pickaxe backers:

  • https://www.patreon.com/acid_chicken Acid Chicken
  • https://www.patreon.com/user/creators?u=4934636 Balajanovski
  • https://www.patreon.com/Gongo/creators Gongo

Get Involved

We need help to make MineCase better. You can help us by fixing bugs, developing new features, improving documents.
Some new contributors wonder what to work. The project began with the love for Minecraft, so our answer is always "do what you love".

Contact

This project is still under development. You can submit code by using Pull Requests or Feel free to contact me via e-mail or issues, I'll add your profile to team members and if you have any questions we can discuss together in the Issues. and also any questions you may have while using this server, or any good suggestions, can be addressed to us in Issues. we welcome and thank your contribution for this project.

MIT License

Copyright (c) 2017-2020 MineCase

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

minecase's People

Contributors

alinshans avatar jstzwj avatar melonpi avatar monkeywithacupcake avatar ray-cast avatar sunnycase avatar zaoqi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minecase's Issues

Several bugs in multiplay game

  • A player cannot see another player's actions after a moment
  • Some players cannot see block dropping
  • Some players cannot see block change
  • When a player leave, the other players cannot see player list change.

Fix bash-runscript

which mongo
if [ $? -ne 0 ]; then
    echo "mongo command is not available, please make sure mongodb is installed and added to the system path."
    return 1
fi

mongo --eval "db.stats()"
if [ $? -ne 0 ]; then
    echo "mongodb not running"
    return 1
else 
    echo "mongodb is online..."
fi

echo building MineCase...
cd src
dotnet restore
dotnet build -c debug
cd -

echo start MineCase.Server...
cd src/MineCase.Server
dotnet run &
cd -

echo start MineCase.Gateway...
cd src/MineCase.Gateway
dotnet run
cd -

adapt this, so it has equal functionality like the batch-script.

Exceptions occurred when Chat parsed Standard_chat_message

StackTrace
Invalid cast from 'System.Int64' to 'MineCase.Formats.HoverEventType'.
at Newtonsoft.Json.Linq.Extensions.Convert[T,U](T token)
at MineCase.Formats.Chat.ConstructCommonPart(JObject jsonObject, ChatComponent component) in C:\MineCase\src\MineCase.Protocol\Formats\Chat.cs:line 724
at MineCase.Formats.Chat.ParseCompoent(JObject jsonObject) in C:\MineCase\src\MineCase.Protocol\Formats\Chat.cs:line 673
at MineCase.Formats.Chat.ParseCompoent(JObject jsonObject) in C:\MineCase\src\MineCase.Protocol\Formats\Chat.cs:line 658
at MineCase.Formats.Chat.Parse(String json) in C:\MineCase\src\MineCase.Protocol\Formats\Chat.cs:line 602

http://wiki.vg/Chat#Standard_chat_message

Server instantly closes on startup

I followed the install instructions it built without error however i have no idea why it closes because i can't read the error because it closes after printing it to the console

im interested in helping out but....

so I'm interested in helping out as I'm interested in making a modded clustered Minecraft server, and java just isn't properly equipt to do such a thing.

now when it comes to modding I've noticed there's an old 2018 branch that has the core aspects of the mod loader however I don't see any actual support for java based mods. am I just blind or is it currently not planned to support the JVM environment for your usual mods?

New clone: Cannot restore nuget package from sources in nuget.config

On a brand new clone:

  • Installed mongodb
  • Tried to run .\build_and_run.bat

It fails during the build process.

I did some investigation and the same issue can be reproduced on my (windows) box by running:
dotnet restore in the src folder. I get:

C:\Program Files\dotnet\sdk\5.0.103\NuGet.targets(131,5): error : Unable to load the service index for source https://www.myget.org/F/dotnet-corefxlab/api/v3/index.json. [C:\i\s\MineCase\src\MineCase.sln]
C:\Program Files\dotnet\sdk\5.0.103\NuGet.targets(131,5): error :   The SSL connection could not be established, see inner exception. [C:\i\s\MineCase\src\MineCase.sln]
C:\Program Files\dotnet\sdk\5.0.103\NuGet.targets(131,5): error :   The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch [C:\i\s\MineCase\src\MineCase.sln]

Indeed when I try to retrieve that index.json file, I get cert errors and redirected to a website (not the index.json file).

Probably only manifests on the first restore (folks that had restored when that nuget source was up/working would have the correct packages cached). I think you'd have to do a nuget restore --no-cache to see it?

Anyway, anyone have a guess as to where those nuget packages reside now? What would be the correct nuget source url?

About the Unity Client

I found there is nothing in the untiy client project, and the DLL is ignored.
What about this client, and can you remove the ignore and push the dll?

build error

/home/digua/bin/dotnet/sdk/5.0.408/NuGet.targets(131,5): error : 无法加载源 https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json 的服务索引。 [/home/digua/minecraft/MineCase/src/MineCase.sln]

还有希望能更新到最新dotnet版本

unity客户端是不是不能用?

unity客户端看log是2017年刚开始的时候 做了一个? 并且编译了 dll到客户端使用,unity一启动自动删除了一些dll,并且编译client.scripts和client.engine的时候依赖了.netcore的服务器协议,但是net46编译不了

Build error

CSC : error CS8032: An instance of analyzer MineCase.CodeGeneration.PacketSerializerGenerator cannot be created from C:\Users\tf2g3\Documents\GitHub\MineCase\src\Tools\MineCase.CodeGeneration\bin\Debug\netstandard2.0\MineCase.CodeGeneration.dll : Method 'Initialize' in type 'MineCase.CodeGeneration.PacketSerializerGenerator' from assembly 'MineCase.CodeGeneration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation..

Visual Studio 2019 Preview (v16.8.0 Preview 3.2)
.NET Core 5.0.0-rc.1

Batch file immediately closes when opened

I have .NET installed, and MongoDB installed and running, but the batch file closes immediately after I click on it.

Here is the error that it prints out:

INFO: Could not find files for the given pattern(s).
"mongo command is not available, please make sure mongodb is installed and added to the system path."

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.