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

Project1

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

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

[复制链接]

Lv5.捕梦者 (版主)

梦石
1
星屑
23989
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

跳转到指定楼层
发表于 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, 下载次数: 282)

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

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 比看邮件还勤……
以及尽管我已经尽量写的简单,但是网络功能本身就有一定的门槛,对这个脚本的改动需要一定的编程知识。或者你可以找我呀~

评分

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

查看全部评分

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

Lv3.寻梦者

梦石
0
星屑
4481
在线时间
1053 小时
注册时间
2013-3-28
帖子
390

开拓者

19
发表于 2021-7-22 03:26:18 | 只看该作者
大佬你好,我最近在用您的系统进行pvp测试角色平衡,想要挂靠您的服务器,不知道方便吗

点评

对,因为sae现在不提供备案域名,你需要自己买一个域名并备案。之前是钻了sae的空子不用备案  发表于 2021-7-23 00:58
还想请教一下,如果使用自己的sae服务器,需要购买域名吗。目前我的sae没法连接上  发表于 2021-7-22 20:56
谢谢大佬,不过游戏数据清除也没什么影响,只是几个人用来测试战斗而已,正式发布会去除网络功能  发表于 2021-7-22 20:54
rgsos.applinzi.com还是正常使用的,不过你需要每个月登录至少1次以保证游戏数据不被清除  发表于 2021-7-22 07:42
难道有人继承郭兄大人的意志了吗!  发表于 2021-7-22 05:28
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4481
在线时间
1053 小时
注册时间
2013-3-28
帖子
390

开拓者

18
发表于 2020-3-9 22:17:19 | 只看该作者
不知道大大还更不更新?目前发现联机对战时如果双方速度一样,会导致两个客户端的攻击先后顺序不同

点评

后续工作看我签名里的rgsos,但是默认战斗的联机改造我尝试了之后发现难度太大于是放弃了  发表于 2020-3-10 07:06
还有现在我的游戏设定是当一个人物阵亡后玩家会手动选择备战人物登场,但是这一步不知道如何做到双端同步,希望大大赐教  发表于 2020-3-9 22:39
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4481
在线时间
1053 小时
注册时间
2013-3-28
帖子
390

开拓者

17
发表于 2018-3-25 02:28:34 | 只看该作者
这是怎么回事?

改了
NPC_SHIFT = 1000 # 事件 ID 的偏移量
STORAGE_MAP = 7 # 默认 npc 的地图
NPC_EVENT_ID = 1 # 默认 npc 的 id
就会这样子

点评

估计是我当时没有好好写,你看着改吧……反正就是饭前洗手……  发表于 2018-4-3 20:39
不过16楼的问题我也遇到了,不知道是怎么回事  发表于 2018-3-25 10:45
把那个脚本放进工程里就不报错了,蟹蟹  发表于 2018-3-25 10:35
你把所有的脚本拷贝到工程里,看看报错的是哪一行。会不会是中文路径?  发表于 2018-3-25 10:08
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
910
在线时间
94 小时
注册时间
2005-10-22
帖子
397
16
发表于 2018-3-24 21:04:38 | 只看该作者
希望版主大大可以坚持下来,10年前的一个联机项目被搁浅了。。。真心希望有能继续完成的。

点评

我只知道一个叫RMXOS的东西  发表于 2018-3-24 21:36
做脚本先从修改脚本做起,我只修改自己觉得能用到的东西。
以后的任何作品都将不会进行分享。
Bilibili:https://space.bilibili.com/288814521
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4112
在线时间
767 小时
注册时间
2015-6-27
帖子
80

开拓者

15
发表于 2018-3-18 14:13:47 | 只看该作者
请问报错了该怎么办。。在联网战斗ready之后选择开始的时候就弹了出来

点评

好吧,我知道了。。。  发表于 2018-3-23 18:14
嘛,就跟吃饭前要需要洗手一样……  发表于 2018-3-22 15:16
谢谢大佬抽空回复我!清空了之后确实没有报错了,可是如果不清空仍然会报错,如果每次战斗都要清空一次的话就有些麻烦了,怎样才能一劳永逸呢  发表于 2018-3-21 22:45
左上角有一个开关,对着按一下空格  发表于 2018-3-21 12:27
蠢蠢地问下,要怎么清空呢。。  发表于 2018-3-20 20:49
鸽子本鸽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4679
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

14
发表于 2018-3-15 19:13:44 | 只看该作者
AsHttp-Win32异步HTTP通信库(DLL)0.3版本更新顶帖。
增加获取响应的HTTP头部的接口
优化部分接口的名称和参数
增加重定向开关
修复Windows XP系统下崩溃的问题
修复超过线程上限时崩溃的问题
                                                             by 不死鸟之翼
0.1版本在WINXP会崩溃,我只是帮忙把0.3版本整合进这个系统。
Client.rar (1.17 MB, 下载次数: 20)

点评

不敢当 小透明还要继续学习(ง •̀_•́)ง  发表于 2018-3-15 22:32
嗷呜,大神现身了,鞠躬。  发表于 2018-3-15 21:54
居然还有人记得这个  发表于 2018-3-15 20:52

评分

参与人数 1+1 收起 理由
guoxiaomi + 1 我很赞同

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19349
在线时间
3078 小时
注册时间
2013-1-11
帖子
1288
13
发表于 2017-10-16 23:16:40 | 只看该作者
感觉非常不错啊,独立性,兼容强,简单易懂,如果函数、key的注释多点就更好了
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23989
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

12
 楼主| 发表于 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 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
1
星屑
23989
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1438
在线时间
328 小时
注册时间
2016-4-4
帖子
168

开拓者

10
发表于 2017-8-9 15:57:17 | 只看该作者
emmm   聊天气泡显示的太快 有时候会没看见  可以加个类似于聊天框?的东西查看别的玩家说过的话  

点评

做个窗口显示文字,感觉大家都会写,所以我就没有添加这个功能  发表于 2017-8-10 00:45
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-10-18 18:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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