设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 10454|回复: 72
打印 上一主题 下一主题

[原创发布] 在sae上搭建联机服务器

[复制链接]

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

跳转到指定楼层
1
发表于 2017-8-8 11:09:46 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 guoxiaomi 于 2017-9-13 00:33 编辑

服务器搭建在 sae 上,已经开源供大家使用。

项目地址:http://git.oschina.net/rmxp/rgss_server

部署方法:http://git.oschina.net/rmxp/rgss_server/wikis/SAE_HELP

客户端使用帮助:http://git.oschina.net/rmxp/rgss_server/wikis/RMXP_HELP

请去项目地址下载最新的客户端和服务端文件!下载方法,如果不会用 git,就直接点橙色的【克隆/下载】,选择【下载 zip】即可获得整个的打包文件。

此贴也会定期更新新的客户端来方便大家偷懒 ~ 比如这里: rmxp20170913.zip (1.25 MB, 下载次数: 277)

主要更新内容,一开始会更新比较频繁,也请大家尽量提出建议,我把常用的功能都做出来 ^_^:

20170913 - 优化了 PHP (un)serialize 的代码,并且添加计算 sha-1 的 dll(这个dll有点大……)
20170813 - 增加了触发事件的功能(事件同步),具体请看左上角房间新增的事件内容。
20170811 - 给 region 增加了 vars_t 和 vars_p 两个变量,具体请看右上角房间新增的事件内容。
20170810 - 客户端使用 aes.dll 来完成加密过程,现在数据加密不会降低帧率(默认60帧)。



因为刚刚测试完,相关的文档还不够详细。但是已经尽我所能写的更加开放,方便添加新的内容。对原有的系统改动已经尽可能小了,重写的方法也写出来了原因,请查看工程。

安装了 rmxp 的朋友可以下载 client 试玩,目前提供以下功能:

1. 自动注册,登陆,根目录下会生成 user 文件用于识别用户

2. 保存玩家个人信息,并在登陆的时候下载到本地

3. 用一个 npc 事件模拟其他在线玩家,同步位置并且显示玩家信息

4. 聊天功能,附加的其他功能可以显示动画,改变玩家形象和设置名称(见 2,名称会保存在服务器)

5. 网络商店,商店支持打折功能,并且会在晚上 12 点将昨天收购的物品上架

6. 云存档,就算删除了本地的存档,也会自动下载云存档

7. 联机战斗,两个玩家可以把自己的队伍数据上传到服务端,然后开始联机战斗, 30s 没有收到对方的指令信息会判定获胜

8. 每日登陆奖励,每日首次登陆会获得奖励

9. 定时任务,见 5,每晚 12 点执行定时任务,包括推进服务端的日期计数,将商店收购的物品上架等

10. 后台任务,以廉价的“http访问页面自身”的形式实现了周期性执行一段代码(见 sae-io.php 中的 SAE_THREAD 类),目前用于判断玩家是否掉线,因为无法保持长连接

目前这个客户端部署在我自己的服务器上。

由于当前的项目的服务端和客户端是完全公开的,大家也可以对客户端进行修改以测试功能,但是请保持友善……不要频繁访问服务端

可以修改 region 使得你的游戏和其他人的游戏数据分开,这样可以依托我这个服务器提供部分功能

对于一般的弱联网,只是聊天室或者桌游什么的,多人解谜小游戏,应该稍加改动就可以使用了。

最好还是自己在 sae 上搭建一个服务器。

其他的内容介绍请打开客户端试用~

特别鸣谢:不死鸟之翼,他发布的 ashttp.dll 提供了简易的异步进行 http 访问的功能。链接在这里:https://rpg.blue/forum.php?mod=viewthread&tid=397260
(360 会对 ashttp.dll 报毒,但是我不认为不死鸟之翼会做这种没有回报的事情。如果无法添加信任,请卸载360~)

旧的版本




有任何 bug 反馈,或者想增加新的功能,咨询此脚本的用法,挂靠我的服务器提供网络服务的,请在此留言?我上 6R 比看邮件还勤……
以及尽管我已经尽量写的简单,但是网络功能本身就有一定的门槛,对这个脚本的改动需要一定的编程知识。或者你可以找我呀~

点评

360一下就杀掉了!  发表于 2017-8-8 18:49

评分

参与人数 5星屑 +126 +2 收起 理由
没猫铲屎官 + 1 很实用的,塞糖
正太君 + 1 精品文章
b565185756 + 100 简直就是宇宙万物的创世神
戴迪 + 6
506066594 + 20

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

2
 楼主| 发表于 2017-8-8 21:41:02 | 显示全部楼层

感谢 TXBD 和 porutia 两位的试玩!

点评

荣幸之至的郭兄大人0.0  发表于 2017-8-9 06:33
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

3
 楼主| 发表于 2017-8-10 00:38:30 | 显示全部楼层
试着编译了一个dll用于进行aes的加解密,加解密不再拖累帧率了,请去开源中国下载最新的客户端吧!
下载方式:点开主楼的项目地址,右边有橙色的“克隆/下载” 选择下载zip就能把整个项目打包下来。其中client/rmxp就是rmxp的客户端~
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

4
 楼主| 发表于 2017-8-11 12:53:41 | 显示全部楼层
yang1zhi 发表于 2017-8-9 13:21
网络化太有诱惑力了

嗯,我在服务端增加了新的功能,现在每个 region 有独立的永久变量 vars_p 和临时变量 vars_t。使用方法见新的客户端的右上角房间。
这里提一下,如果变量的修改不频繁,可以不周期性的访问网络要求同步数据。可以利用 user 的 handle 或者是 chat 信息来触发:
比如,如果修改了变量,就发送一句聊天信息:“刷新变量”,然后其他人如果收到此信息,就不更新在聊天框里,并且访问服务器刷新一次变量。这样可以减少服务器的开销~
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-6 12:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表