将传奇1.76移植到centos的尝试

来源:互联网 发布:造梦西游刷点卷软件 编辑:程序博客网 时间:2024/04/30 15:21

前段时间赋闲, 于是花了近一个月的时间作了一些尝试, 感觉效果还不错, 只是工作量太大(对一个人而言), 基于时间和精力的缘故, 暂告一个段落, 非常遗憾.
力有不逮啊. 可能有些朋友比较好奇, 我先在这里作一些陈述.

做这个事情的出于以下几个目的:

    1. 个人刚经历过一个手游项目, 做服务端, 对客户端的技术一直比较好奇, 因此想感受一下开发客户端时要用到的技术和编程模式,
         这样以后招人时也不至于太外行.


    2. 在此之前自研了一个基于protobuf的actor模型服务器框架, 想借这个事情感受和验证一下这个框架的可行性, 结论是非常好用, 并获得了一些超出预期
        的好处.这里先简单描述一下这个框架, 后续有时间再详细介绍.

                a). 开发语言, c++, 有空考虑再用java实现, 对这两种语言在服务端开发时的优劣, 个人感受是, 开发阶段c++做转移表, 函数回调非常简单自然,
                运行时内存消耗少, 效率高, 但开发难度可能更大, 编译耗时更是无法忍受, 项目上线前期心理压力大, 因为进程随时可能飞掉. java则开发速度
                快, 人员要求低, 无编译耗时问题, 部分bug不影响整个进程, 心理压力小, 坏处是内存消耗大, 如果用c++开发, 一台机器可能开20个区, 用java
                可能只能开15~10个区.

                b). 只支持linux, 因为是基于epoll的, 无法向windows移植.

                c). 既然是actor模型, 就主要是为了解决锁和并发的问题, 其实更主要的是锁的问题, 这个框架向上提供了一个完全无锁和与网络无关的开发环境,
                换句话说. 进行业务开发时, 再也看不到pthread_mutex_lock这些了, 也看不到send等socket函数了. 取而代之的是事务, 任何动作都以事务开始,
                以事务结束.

                d). 由于任何动作/请求都是基于事务的, 因此代码的运行轨迹很容易跟踪, 可测量性非常高, 玩家行为日志输出/分析非常方便.


    3. 一个很朴素的理由, 希望能在linux上玩一下靠谱的端游, 人个一直以centos作为平时工作的开发机, 喜欢gnome2的大方与简洁, 因此客户端
        和服务端都运行在centos上, 开发时使用的版本是centos6.4-x86_64.


好了, 上图.

1. 登录界面.



2. 开门动画.



3. 角色创建.



4. 角色创建好了.



5. 在比奇海边.



6. 在比奇城郊.



截图可能看起来比较奇怪, 其实是却掉了边框,  主界面则是居中置顶.

0 0
原创粉丝点击