GithubHelp home page GithubHelp logo

leeveel / geekserver Goto Github PK

View Code? Open in Web Editor NEW
596.0 20.0 132.0 91.17 MB

基于.Netcore的开发效率高,性能强,跨平台,持久化层透明,支持不停服热更新的游戏服务器。Best for your unity game server!

License: MIT License

C# 96.42% Liquid 0.18% TypeScript 3.40%
server game netcore actor hotfix csharp orleans akka-net unity3d gameserver

geekserver's People

Contributors

172672672 avatar jnumrc avatar leeveel avatar lixiuzhi 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

geekserver's Issues

动态模拟

1.大量用户登录,打开测试连接程序吧连接数量设置成一千
2.关闭测试连接程序,此时系统需要释放大量资源
3.这个时候再打开测试程序发现服务器有点处理不过来
不知道是不是可以通过设置Kestrel服务的相关配置解决,希望大佬解答
如果不是希望可以优化
1677654454215

Unity2021打开报错

Assets\Scripts\Framework\Bedrock\Protocal\ProtocolReader.cs(10,35): error CS0433: The type 'IAsyncDisposable' exists in both 'Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Assets\Scripts\Framework\Bedrock\Protocal\ProtocolWriter.cs(10,35): error CS0433: The type 'IAsyncDisposable' exists in both 'Microsoft.Bcl.AsyncInterfaces, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

客户端安卓真机接收消息问题

请求登录服务器会同时返回两条消息:1.客户端请求返回。2.错误码消息。当在编辑器下,完美收到2条消息返回。但是在安卓真机上,却只能收到一条消息。无法收到错误码消息。导致MsgWaiter无限等待中。

RemoteBackup备份报错

服务器使用内嵌数据库,使用RemoteBackup备份到本地mongo数据库报错,修改app_config.json文件的数据库模式为1能连上mongo数据库。

init NLog config...
2023-05-04 23:31:32.0584 INFO 进入游戏主循环...
进入游戏主循环
2023-05-04 23:31:32.5009 INFO 初始化MongoDB服务完成 Url:mongodb://127.0.0.1:27017/?authSource=admin
2023-05-04 23:31:32.5009 INFO 初始化备份任务完成
2023-05-04 23:31:32.5009 INFO 下次定时回存时间 2023/5/4 23:31:42
2023-05-04 23:31:42.6878 ERROR StartNewTurn Throw Exception:MessagePack.MessagePackSerializationException: Failed to deserialize Geek.Server.Core.Storage.SaveTimestamp value.
---> MessagePack.MessagePackSerializationException: Unexpected msgpack code 146 (fixarray) encountered.
at MessagePack.MessagePackReader.ThrowInvalidCode(Byte code)
at MessagePack.MessagePackReader.TryReadMapHeader(Int32& count)
at MessagePack.MessagePackReader.ReadMapHeader()
at MessagePack.Formatters.Geek_Server_Core_Storage_SaveTimestampFormatter1.Deserialize(MessagePackReader& reader, MessagePackSerializerOptions options)
at MessagePack.MessagePackSerializer.Deserialize[T](MessagePackReader& reader, MessagePackSerializerOptions options)
--- End of inner exception stack trace ---
at MessagePack.MessagePackSerializer.Deserialize[T](MessagePackReader& reader, MessagePackSerializerOptions options)
at MessagePack.MessagePackSerializer.Deserialize[T](ReadOnlyMemory1 buffer, MessagePackSerializerOptions options, CancellationToken cancellationToken) at Geek.Server.Core.Serialize.Serializer.Deserialize[T](Byte[] data) in D:\Project\Unity3D\GeekServer\Geek.Server.Core\Serialize\Serializer.cs:line 13 at Geek.Server.Core.Storage.DB.Table1.Enumerator.MoveNext() in D:\Project\Unity3D\GeekServer\Geek.Server.Core\Storage\DB\Table.cs:line 192
at Geek.Server.RemoteBackup.Logic.Backup.Start() in D:\Project\Unity3D\GeekServer\Geek.Server.RemoteBackup\Logic\Backup.cs:line 46
at Geek.Server.RemoteBackup.Logic.BackupTask.StartNewTurn() in D:\Project\Unity3D\GeekServer\Geek.Server.RemoteBackup\Logic\BackupTask.cs:line 55
2023-05-04 23:31:42.6878 INFO 定时回存完成 耗时: 96.6496ms
2023-05-04 23:31:42.6878 INFO 下次定时回存时间 2023/5/4 23:34:42

同类游戏服务器太多,建议出一个完整教程

我看你的更新日志,基本每隔几天就更新维护一下,真算得上是劳模,但也只积累了这些星星。如果用这些时间中的一部分,出个教程,从零开始写个游戏,这项目分分钟升到千星。关注使用的人多了,更利于解决实际问题,更利于这个项目的发展。

个人建议哈!

作者你好,我想问一下应该怎么操作数据?

我在现有的背包基础上,新加了一个Gm获得物品的协议,然后调用在BagCompAgent新增的方法 AddItems 对 State.ItemMap 进行数据操作, 但是发现返回的 ReqBagInfo 协议里只有新增的数据? 难道要像 PlayerInfo 那样 新增一个 state 去管理背包数据吗?那样的话怎么对背包数据进行存储呢?
另外,希望能出一个教程,这样用的人也会多起来!感谢!

【Discard】注释生成的Warpper报错问题

1679598673554

不知道是配置问题,还是包没有更新问题,生成的Warpper代买报错的3个错误
8>D:\Project\ProjectD\Server\Geek.Server.Hotfix\Geek.Server.CodeGenerator\Geek.Server.CodeGenerator.Agent.AgentGenerator\ServerCompAgentWrapper.g.cs(19,51,19,78): error CS0029: 无法将类型“System.Threading.Tasks.ValueTask”隐式转换为“System.Threading.Tasks.Task”
8>D:\Project\ProjectD\Server\Geek.Server.Hotfix\Geek.Server.CodeGenerator\Geek.Server.CodeGenerator.Agent.AgentGenerator\ServerCompAgentWrapper.g.cs(19,51,19,78): error CS1662: 无法将 lambda 表达式 转换为预期委托类型,因为块中的某些返回类型不可隐式转换为委托返回类型
8>D:\Project\ProjectD\Server\Geek.Server.Hotfix\Geek.Server.CodeGenerator\Geek.Server.CodeGenerator.Agent.AgentGenerator\ServerCompAgentWrapper.g.cs(19,44,19,50): error CS8030: 转换为 void 返回委托的匿名函数不能返回值

如何对接websocket

作者你好,我想用于cocos creator小游戏的服务器框架,想实现一下ws协议,但苦于找不到入口,作者是否能提供一下修改建议,感激不尽

部署失败

在docker 中部署时,运行失败。报错找不到librocksdb.so

ActorID定义询问

/// <summary>
/// 范围约定[为配合ActorID进行ID规则运算,请严格遵循该规则]
///            [此ID规则完全足够使用,当然你可以制定你自己规则]
///            
/// Actor类型有三种:
/// 1.ID全服唯一类型 [0,127]   [生成的ID合服之后也要保持唯一,这种理论上不会太多(角色,公会,一般为数据库的key),预留了128种类型]            
/// 2.ID仅需要单服唯一的Actor类型 [GeekServer为了方便统一使用了0-127这个范围,可自己根据情况调整]
/// 3.ID固定,每个服只会有一个的Actor类型 [129, 999] [这种ActorID会通过固定的规则生成serverId*1000 + actortype]
/// 非Actor类型的ID可以使用IdGenerator
/// </summary>

我是不是可以认为只有两种,一种是合服后保持不变,一种是跟随服务器id变化,上文提及的第二点其实是第三点,后方中阔号是说的第一点。
对第一种合服保持不变的,是不是要对数据库进行处理,保证多个服务器运行时生成ID不会冲突,请问这方面有什么技巧

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.