游戏服务端之路

  一直彷徨应该往什么方向走,自从看了大神的框架,才发觉自己欠缺很多。与其不懂啥就学啥,不如有条理地学习,从这里开始。

  • linux命令行环境

linux常用命令用法,软件的安装,vim的用法,在特定的linux版本安装了epel源,学会用SSH配置公钥、私钥,通过SSH来远程登录linux主机。如在windows下用putty来远程登录linux主机,MTPuTTY是多标签的putty,用puttygen生成公钥、私钥,用pageant添加私钥代理。

  • 版本控制工具

学会在linux下使用svn/git。

  • C/C++语言

熟悉C/C++语言,熟悉gcc、g++、gdb、cmake、clang、clang++等的使用。

  • python语言

学习python编程规范,了解python的相关模块用法,如:ipython,django,twisted,yaml,json,pymongo,markdown,pylint,tornado,xlrd,xlwt等,使用pip来安装python的工具包。

  • lua语言

在游戏开发中,lua用得比较多,学会lua与C++的交互。

  • mongodb数据库
  • mysql数据库
  • 网络编程

理解同步、异步、阻塞、非阻塞的概念。

Linux下的五种I/O模型:

1)阻塞I/O(blocking I/O)

2)非阻塞I/O (nonblocking I/O)

3) I/O复用(select、poll、epoll) (I/O multiplexing)

4)信号驱动I/O (signal driven I/O (SIGIO))

5)异步I/O (asynchronous I/O (the POSIX aio_functions))

前4种都是同步,只有最后一种才是异步IO。

了解C10K的问题,学习libevent库的用法、epoll的用法。

时间: 2024-10-06 20:57:51

游戏服务端之路的相关文章

为什么多数游戏服务端是用 C++ 来写

早年开发游戏必须用C++,这没得说,2000-2004年,java还没有nio,其他动态语言不抗重负,只能C/C++能开发出完整可用的游戏服务端.直到2005年,韩国的游戏很多都还是纯C++写服务端,金山之前也开发过很多纯粹C++的游戏服务端,后来大家都切了. 现代选择有很多:java + javascript, c+python, c+lua, scala, go, erlang.我们面向性能的服务器用 java,面向逻辑服务器 python,面向高并发的会选择 scala,次一级高并发或者性

非常强的一款开源的分布式游戏服务端引擎(kbengine)

一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术,将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏. (经常被问到承载上限,kbengine底层架构被设计为多进程分布式动态负载均衡方案,理论上只需要不断扩展硬

游戏服务端pomelo完整安装配置过程

游戏服务端pomelo安装配置 一.安装环境 debian 7.0 amd64 二.安装需要的组件 1.安装nodejs 注:debian下nodejs没有相应的apt包,所以无法用apt-get安装,只能通过nodejs的源码包安装, 这里有比较全的其他系统环境下安装nodejs的方式https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager a.安装所需的组件,python g++ #apt-get i

游戏服务端pomelo安装配置

一.安装环境 Linux Ubantu 二.安装需要的组件 1.安装nodejs 注:debian下nodejs没有相应的apt包,所以无法用apt-get安装,只能通过nodejs的源码包安装, 这里有比较全的其他系统环境下安装nodejs的方式https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager a.安装所需的组件,python g++ #apt-get install python g++ ma

开源分布式游戏服务端引擎kbengine

服务端引擎: http://www.kbengine.org 什么是KBEngine? 一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏. (经常被问到承

网页游戏服务端-人物移动广播优化

[本文转自网络http://janeky.iteye.com/blog/1614175] 这段时间在处理服务端人物移动广播遇到了问题,记录一下. 1.问题 现在的页游都朝着客户端的方向靠齐了,大地图,千人同屏.因此,也给页游的服务端开发带来了不少的挑战.假设一个场景地图是8000*8000大小,同时有1000人在.1秒钟内,每个玩家移动一次.按照最原始的做法,就是给同一个场景的用户广播消息.简单计算一下广播量:1000*1000=1000000的广播量,有点恐怖. 2.方案 优化的目标肯定是减少

游戏服务端中使用Servlet和Java注解的一个好设计

SNS类游戏基本都是使用HTTP短连接,用Java来开发服务端时可以使用Servlet+Tomcat很轻松的架构起服务端来.在这里介绍一种使用Servlet比较好的一种设计,我也见过很多基于HTTP请求的游戏服务端使用Struts.Spring.Hibernate等等,其实我感觉对于游戏来说使用这些东西很繁琐,若是开发Java Web应用使用SSH倒是合情合理. 使用Servlet时,我们可以只创建一个Servlet左游戏中所有请求的入口,然后使用注解来标识方法,在程序启动时使用反射去收集注解的

公司准备使用KBEngine游戏服务端引擎

经过几个月的挑选, 看过柚子.scut.Photon, 最后选定KBEngine. 内部进行过一轮测试, 性能高效, 安全稳定, 分布式扩展强, 开发速度快. 这引擎挺不错的, 免费开源而且很完善, 文档.工具控制台.计费服务等等都不用操心了. 数据库部分完全不需要关注, 引擎能够自动的进行存储和同步, 网络部分在写逻辑时也基本感觉不到了, 总之就是方便稳定高效. 这是引擎的介绍: 一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(

开源unity3d、cocos2dx分布式游戏服务端引擎

一款开源的支持多人同时在线实时游戏的服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与 (Unity3D.OGRE.Cocos2d.HTML5,等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术,将精力真正集中到游戏开 发层面上来,快速的打造各种网络游戏. Homepage http://www.kbengine.org Releases so