GithubHelp home page GithubHelp logo

codewallace / inserver Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ineversleeeeep/inserver

0.0 1.0 0.0 25.18 MB

Golang Distributed MMO Game Server

License: MIT License

Batchfile 0.52% Go 94.82% Makefile 1.02% Shell 1.77% TSQL 1.71% HTML 0.17%

inserver's Introduction

Build Status

INServer

介绍

基于Golang的分布式MMO游戏服务器,目标是只在逻辑上区分游戏区,单游戏区没有承载上限。

初始化

protobuf环境初始化

go get github.com/gogo/protobuf/protoc-gen-gofast
go get github.com/gogo/protobuf/proto
go get github.com/gogo/protobuf/jsonpb
go get github.com/gogo/protobuf/protoc-gen-gogo
go get github.com/gogo/protobuf/gogoproto
go get github.com/mitchellh/protoc-gen-go-json
go get github.com/divan/expvarmon

一些原始想法 一些流程图

目前版本存在几个核心问题没有解决,这些问题直接影响了服务器的可用性和易用性。

  1. 服务器如何支持乱序启动,如何支持服务器宕机重开后恢复各个服务器的状态,服务器的关机流程。
  2. 服务器中有几种大的类型的消息,他们的流向应该是如何,消息如何从一个起点到达终点。这个问题不解决,目前实现玩家移动的时候,整体的逻辑是混乱的,就算做出来了,以后也会越来越乱。
  3. 每个服务器应该保存玩家/角色的哪些数据,数据发生变化时的同步如何进行。

根据以上的问题,接下来顺序完成的功能

  1. 完成整个服务器群的生命周期整理,清晰的开服关服流程,服务器重启流程。(done)
  2. 玩家数据分布整理,玩家的哪些数据需要存储在哪些服务器。
  3. 增加月台服务器 承接玩家进入游戏但是没有分到逻辑服务器的状态。(done)
  4. 整理清楚玩家和角色的概念,登录流程走完之后,一切都是角色,不应该有玩家了。完成一个玩家的生命周期整理,进入,退出游戏流程与关服时保存流程。
  5. 消息类别整理,不同类别的消息的在服务器之间如何流动的流程整理。
  6. 完成玩家的移动和切地图逻辑。

inserver's People

Contributors

ineversleeeeep avatar

Watchers

 avatar

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.