简单Elixir游戏服务器-安装Elixir】的更多相关文章

用WebInstaller 安装半天也没下载成功文件. 改成直接下载erlang 和 elixir 预编译包了. 安装很简单,最后设置好环境变量. cmd 执行 elixir -v 最后顺便下载了个git hub windows 客户端,以前都是内网用git. 这回希望能写完这个简单系列,发布代码出去.…
以前的Elixir游戏服设计系列种种原因没有完成. 后来虽然用Elixir + riak 完成了一个麻将的初始版本,可惜公司也挂了. 现在到新公司,比较空闲,想着像完成一个心愿一样,还是重启下吧(希望不要又烂尾), 改头换面叫简单Elixir游戏服务器系列. 一些说明 0. 没怎么写过博客,也懒得去研究了,说到哪算哪吧,为了自己愉快.所以排版,链接方面可能不好. 1. 游戏是那个简单的“抓木虱”,回头重新整理下介绍 2. 不会涉及到存储 3. 会用elixir 1.5 去完成(因为喜欢新玩意)…
Python超简单的HTTP服务器 安装了python就可以 python -m SimpleHTTPServer 执行这一个命令即可实现一个HTTP服务器,将当前目录设为HTTP服务目录,可以通过http://localhost:8000 或http://ip:8000访问.…
在游戏开发中,我们经常会遇到一些技术难题,而其引发的bug则会影响整个游戏的品质.女性向手游<食物语>就曾遇到过一些开发上的难题,腾讯游戏学院专家团Wade.Zc.Jovi等专家为其提供了指导和帮助.过载保护.集群.服务器通信.并发选型等方面的问题,是中小团队常常的技术难题,本文分享了一些专家在坐诊过程中遇到的游戏服务器常见问题解决方法,希望对大家有所帮助. 问题一:玩家登录时拉取好友信息,但好友服务繁忙导致登录失败. 解决方法: 1.分离关键路径上非关键调用,缩短事务流程,避免周边服务异常阻…
写着写着就废球了,感觉空对空,实在没什么意思. 另外很快就要搞新项目,决定新项目就直接上elixir了.目前该做的准备工作已经探索了一些了. 以下的东西是写给同事参考的,感兴趣的可以看看,提建议更好. 游戏大体分为如下服务器 . 网关服务器(必须) . 游戏服务器(必须) . 后台管理服务器(一般必须) . 数据存储服务器(必须) . 支付服务器(安桌或者第三方回调的话,必须) Elixir umbrella 项目目录结构可大概如下 . 游戏数据模型(包括简单的获取更新逻辑) . 通讯协议 ht…
这篇文章主要介绍一下游戏服务器需要安装的软件和需要修改的配置.现介绍下项目,本项目服务器端是c++ + mysql组合,客户端是as写的,需要安装的服务为Mysql,Php,Apache, 以及一个nodejs的脚本. Mysql安装和配置: 1.安装 $yum install mysql mysql-server php-mysql 2.配置 a)将mysql 设置为启动服务 $chkconfig --level 235 mysqld on b)启动mysql服务 $service mysql…
在Erlang游戏服设计总结http://www.cnblogs.com/rubyist/p/5530575.html里, 我提到我想要的游戏服设计方法,希望以应用做为基础构建块.最近我在学习elixir,它有很多 方便的语法糖以及很好用的库,能够解决我在游戏中开发中碰到的很多繁琐工作.因此我决定用它来做 练手,并期望下个项目中使用它. 游戏服的设计通常涉及如下东东: 协议制定 客户端接入 各种功能 我将以一个简单的打牌游戏来当做elixir练手,希望我能够坚持写完它.我只会想到哪写到哪. 该游…
最近公司做的项目中有用到消息推送,经过多方面的筛选之后确定了使用MQTT协议,相对于XMPP,MQTT更加轻量级,并且占用用户很少的带宽. MQTT是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备. MQTT的官网见:http://mqtt.org/.其中http://mqtt.org/software里面提供了官方推荐的各种服务器和客户端使用的各种语言版本的API. 下面以服务器Apollo 1.6为例,之前尝试过使用ActiveMQ,效…
在<Elixir游戏服设计一>里提到,按照系统功能划分成app要保证原子性很难, 现在想想也没那么难.保证原子性,无非就是需要某个单点去完成操作.那么选择玩家进程去做原子性工作就可以了. 比如要重置某个任务,需要花费金币和背包里某个物品,那么大概的逻辑是这样的.在玩家进程里 def reset_task(task_id) do {need_gold, need_item} = Task.reset_need with :ok = gold_enough(need_gold) #使用玩家进程的数…
相关网站 1. http://www.mongodb.org/ 官网,可以下载安装程序,和doc,和驱动等. 2. http://www.mongoing.com/ 国内官方网站,博客,问题谈论等  3. http://docs.mongoing.com/manual-zh/  中文文档的翻译. 4. https://github.com/mongodb GitHub源码,程序源码,驱动源码.以及工具.(可以看到所有版本) 5. https://jira.mongodb.org MongoDB…
安装 Elixir 每个操作系统的安装说明可以在 elixir-lang.org 网站上 Installing Elixir 部分找到. 安装后你可以很轻松地确认所安装的版本. ~$:elixir -v Erlang/OTP [erts--bit] [smp::] [ds:::] [] [hipe] [kernel-poll:false] Elixir 安装好之后,你将有三个新的可执行文件:iex,elixir和elixirc: iex(或者iex.bat你在Windows上)代替Interac…
一.前言      在接触这个操作系统之前我一直使用的是ubuntu和mac os,这次由于游戏是测试版本,没有专业的运维人员去做这件事情,只能我这个稍微懂一点linux的人来做这件事情了.由于涉及到的内容比较多,因此将这些内容分成不同的内容来写,这样也符合软件的设计原则(kiss原则).每篇文章尽力只说一件事情,并且把这件事情说清楚,少一点噪音,也是多增加了一点文章的实用性. 二.Linux服务器简介      在服务器领域,微软的操作系统是当之无愧的老大,linux这几年份额也在不断增长,在…
Pomelo介绍&入门 目录 前言&介绍 安装Pomelo 创建项目并启动 创建项目 项目结构说明 启动 测试连接 聊天服务器 新建gate和chat服务器 配置master.json 配置servers.json 配置adminServer.json 解决服务器分配问题 实现gate.gateHandler.queryEntry 实现chat服务器chatRemote.js 实现chat服务器chatHandler.js 实现connector中entryHandler.js 运行 编写…
C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无涯,以有涯随无涯,殆已".代入到项目开发中就是说,如果对知识点无差别的全面攻击,不仅会导致所学甚泛却无一深入的尴尬,也会占用太多的有效时间从而影响项目进度.作为一个C++游戏服务器开发者来说,我们时刻肩负着线上游戏开发和维护任务,可以优先学习对自己工作最常用且最重要的,解决实际问题最为紧迫.本文对一…
用Go语言写游戏服务器也有一个多月了,也能够明显的感受到两者的区别.这篇文章就是想具体的聊聊其中的区别.当然,在了解区别之间,我们先简单的了解一下Go语言本身. 1. Go语言的特点 Go语言跟其他的语言例如Java比起来,算得上一门很年轻的语言.Go语言是由Robert Griesemer.Rob Pike和Ken Thompson于2007年在Google开发.并于2009年正式发布. Go语言的设计理念围绕着简洁这两个字,认为少即是多.如果你熟悉Java,用Java那一套语法命名跟Go做对…
简单TUI游戏设计                目       录               一                      Curses库简介与基本开发方法                      二                      事件驱动编程:编写一个视频游戏                      三                      弹球游戏的实现与优化                      四                      简单…
在服务器系统开发时,为了适应数据大并发的请求,我们往往需要对数据进行异步存储,特别是在做分布式系统时,这个时候就不能等待插入数据库返回了取自动id了,而是需要在插入数据库之前生成一个全局的唯一id,使用全局的唯一id,在游戏服务器中,全局唯一的id可以用于将来合服方便,不会出现键冲突.也可以将来在业务增长的情况下,实现分库分表,比如某一个用户的物品要放在同一个分片内,而这个分片段可能是根据用户id的范围值来确定的,比如用户id大于1000小于100000的用户在一个分片内.目前常用的有以下几种:…
游戏服务器是在windows环境开发的,相关跨平台的东西在这里不谈了,只谈如何将Visual Studio 工程转换到Linux下编译.这里涉及到的软件分别为:Centos版本为6.4,Visual Studio 2008,Eclipse cdt. 为了后面的知识容易理解,先简单说下C++编译原理,有四个过程. 1.预处理,通过预处理器(cpp)将宏展开,同时插入include包含的头文件      $cpp test.cc >test.i 2.编译,将预处理文件编译成汇编文件      $gc…
------------------------------ 下面一段代码,实现了最简单的 Web 服务器: 编译环境: Linux Mint 18 Cinnamon 64-bit Golang 1.7 ------------------------------ // main.go package main import ( "fmt" "log" "net/http" ) // 处理主页请求 func index(w http.Respon…
http://blog.jobbole.com/64638/ 在编写网络游戏的时候,到底使用UDP还是TCP的问题迟早都要面对. 一般来说你会听到人们这样说:“除非你正在写一个动作类游戏,否则你就用TCP吧” 或者是 “你能够在MMO游戏中用TCP,因为魔兽世界就用的TCP!” 遗憾的是,这些观点都没有反映这个问题的复杂性. 背景 首先,说明一下,我之前主要是用TCP进行网络编程.我曾为一个流行的在线纸牌游戏编写服务器了好几年,在高峰期我们的每台服务器能够承受4000到10000个连接(同一台物…
内容简介 1.课程大纲 2.第三部分第一课: SDL开发游戏之安装SDL 3.第三部分第二课预告: SDL开发游戏之创建窗口和画布 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算那点事 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串…
Scut游戏服务器免费开源框架--快速开发(3) Scut快速开发(3) 1        开发环境 需要安装的软件 a)        消息队列 b)        数据库,Sql2005以上版本 c)        VS2010开发工具(.Net Framework 4.0以上) 2        代码框架 项目划分三层:实体层,组件层,业务逻辑层(脚本层):模型层主要是数据实体映射,自定义缓存结构:组件层主要负责实现中层层扩展功能:业务逻辑层主要负责实现游戏功能: 2.1     数据库创…
GoWorld代码:https://github.com/xiaonanln/goworld Golang具有运行效率高.内存安全等优良特性,因此是非常适合用来进行服务器开发.使用Golang开发游戏服务器有如下的优点: 运行效率远高于各种脚本语言,大幅度提升服务器承载能力 内存安全,不会像C++服务器那样出现内存错误导致服务器down机 Goroutine能够很好地利用多核计算能力,提升承载能力 Golang本身非常简单好用,大家都喜欢 然而使用Golang编写游戏服务器也面临一定的困难,主要…
今天无意google时看见,心里突然想说,python做web服务器,用不用这么简单啊,看来是我大惊小怪了. web1.py   1 2 3 #!/usr/bin/python import SimpleHTTPServer SimpleHTTPServer.test() web2.py   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/python import SimpleHTTPServer import SocketSer…
前几天写了<开源分享 Unity3d客户端与C#分布式服务端游戏框架>,受到很多人关注,QQ群几天就加了80多个人.开源这个框架的主要目的也是分享自己设计ET的一些想法,所以我准备写一系列的文章,介绍下自己的思路跟设计,每篇一个主题,这次介绍的是组件设计. 在代码复用和组织数据方面,面向对象可能是大家第一反应.面向对象三大特性继承,封装,多态,在一定程度上能解决不少代码复用,数据复用的问题.不过面向对象不是万能的,它也有极大的缺陷: 1. 数据结构耦合性极强 一旦父类中增加或删除某个字段,可能…
游戏服务器设计之聊天室示例 简介 h2engine引擎建群以后,有热心网友向我反馈,想尝试h2engine但是没有服务器开发经验觉得无从入手,希望我能提供一个简单明了的示例.由于前一段时间工作实在忙碌,一直没有抽出时间好好写一下,后来抽空写了出来,自己从小白开发者的角度重新审视了一遍h2engine,自己也收获匪浅,也优化了部分h2engine的架构,使其更易使用.以前的例子都是c++加脚本的例子,这次写一个纯c++的例子. 开发服务器程序一般有如下几个基本操作: 启动程序,监听网络端口,初始化…
这里我们尝试在游戏服务器中的数据处理中使用redis 通过该系列文章能够学习 redis的基本操作 源码编译 客户端开源库的编译和使用 以及在游戏服务器中的缓存使用 作为初次摸索 尽量使得环境简单  我们在windows中运行redis进行学习 本来redis是不支持windows的网络模型 但是还是有微软魔改的版本 一个版本地址是 https://github.com/ServiceStack/redis-windows 看说明似乎使用了windows 子系统功能模拟了linux运行redis…
文章系列先介绍环境搭建 介绍redis操作和代码编写运行  这是典型的实战工程过程.那么我们为何要使用redis而不是常规的数据库比如 mysql呢? 因为KV内存数据库最大的优势所有数据全部存储在内存中,速度快,而且key-value的特点也决定了他良好的扩展性. 以下几点作为游戏服务器中的应用示例,更多的使用方法可以在实践中继续探索优化 1 数据库缓存 比如前一章节的用户数据,在mysql进行读写和redis上进行读写在大量并发访问的场景下,差别是很大的.Redis提供了较为丰富数据类型,使…
引言: 休息一个国庆节后好久没有更新文章了,主要是刚开始休息完心态还没有调整过来的, 现在差不多进入状态了, 所以继续和大家分享下网络编程的知识,在本专题中将和大家分享如何自己实现一个简单的FTP服务器.在我们平时的上网过程中,一般都是使用FTP的客户端来对商家提供的服务器进行访问(上传.下载文件),例如我们经常用到微软的SkyDrive网盘,115网盘等,然而我们经常用到的都是网页版本的,网页版本和客户端版本的不同,网页版本的FTP客户端,它与服务器的交流是使用HTTP协议发出对服务器的请求的…
一.追溯 去gameloft笔试,有一个题目是说: 叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由 . 二.学习 这是两篇网上找到的文章,写非常不错. 当时笔试的时候自己没想到这么全,但大概想法都是一致的,摘录下来再学习一下. 1.网络游戏程序员须知 UDP vs TCP 作者:rellikt@gmail.com 首发链接:http://blog.csdn.net/rellikt/archive/2010/08/21/5829020.aspx 这篇教程让我们就…