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

Project1

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

[原创发布] 自主研发的账号和云存档系统

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3698
在线时间
314 小时
注册时间
2019-8-9
帖子
206

极短22参与

跳转到指定楼层
1
发表于 2021-1-28 20:21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 神风炽羽 于 2022-4-2 19:58 编辑

大家好,我是神风炽羽,今天为大家带来一套网络插件的使用教程。
这套插件的后端是风雨声大佬完善,并提供了相应的接口。我为mv做了一定的适配。
好的话不多说,我们一起来看看。(以下步骤需要用到node.js,大家也可以百度后安装)
首先下载底下的network包,接下来去下载mongodb,百度搜索之后到官网下载安装包。
按照相应教程启动服务。如果你想要可视化的话,可以在安装的时候让他把附属的可视化工具也安装上去,但这可能会需要很多时间。接下来解压network包。打开其中的dist。后面我发现dist发错了。重新发布一份请解压后覆盖。
network.zip (52.8 KB, 下载次数: 45, 售价: 15 星屑)


然后在地址栏输入powershell也就是在这个位置启动。接下来输入 npm i –prod
等他全部跳转完之后。输入node main就可以开始接收了。(记得提前把你本地或者你所部署的服务器上的27017端口打开) .env文件可以决定你打开的端口默认为3000。这是提供服务的端口。不是数据库的端口哦。
然后将底下的js和index.html覆盖你工程文件中的(注意,如果你不希望游戏开始之前强制登陆请不要覆盖你工程中的index.html main.js)

接下来修改main.js
JAVASCRIPT 代码复制
  1. window.onload = function () {
  2.  
  3.     Network.instance.init("http://localhost:3000");//Ip地址和开的端口。
  4.     Network.instance.onLogin = (data) => {
  5.         let obj = JSON.parse(data);
  6.         alert(obj.message)
  7.         if (obj.code == "1") {
  8.  
  9.             document.getElementById("network").innerHTML = ''
  10.             PluginManager.setup($plugins);
  11.             SceneManager.run(Scene_Boot);
  12.  
  13.         }
  14.  
  15.     }
  16.     Network.instance.onError = (data) => {
  17.         let obj = JSON.parse(data);
  18.         alert(obj.message)
  19.         if (obj.code == "100") {
  20.             window.location.reload();
  21.         }
  22.  
  23.     }
  24. };


将上面的位置修改完之后你的游戏就和数据库有了一定交互的功能。接下来我们来讲讲这套系统中。注册登录。存入存档和获取存档的语句。首先是初始化。
Network.instance.init("http://localhost:3000");
接下来是登陆,注册
请注意,在这套系统中,账号的性质是唯一的,不可重复注册。并且开启了单线程防刷功能。只能在一个位置登录。所有平台都算。
Network.instance.login(user, pwd)
Network.instance.register(user, pwd)
存入和读取。
Network.instance.sendSaveJson(json);//发送至服务器
var json = Network.instance.saveJson
注意!上面存入的一定要是Json的字符串。下面获取出来的同样也是字符串。
文件夹中的SfcySaveOnline.js 就是一个暴力修改。存储和获取系统。所得到的云存储。可以直接用,也可以用上述命令进行修改。注意,暴力修改的插件和很多都不兼容。请自行取舍。
这一套系统经过风雨声大佬的授权可以交予我修改和使用。它提供了相应的接口,并且愿意将后端开源出去,相应的我写的插件和修改的也是开源的。可以供各位任意修改。条件是修改完之后请务必给我一份。我的邮箱是[email protected]
这套插件目前还不够完善。后续会继续完善,但由于后续制作速度的不稳定性。目前这一套已经算是比较完备的了。各位可以参考。希望各位能好好使用这一套系统。
(经过我和风雨声的一致认同,这一套系统会收取20星屑来补偿我和他熬了三个夜请各位理解。)
另外还需要注意的是,在打包为移动端或者浏览器上预览的时候,会出现无法获取,存档和无法注册的情况。需要你们自己手动关闭跨域检测,至于关闭方法,请自行百度。
另外,如果觉得index.html不好看的话。可以在style标签中自行使用CSS美化, 这里我就不要脸的向各位要一份,因为我审美不太好。
后续的持续更新请关注一下我。说不定。有你想要的。虽然我技术不是很好。
接下来,有点耍帅意味的附上我自己的座右铭。
我虽不是全能,但会尽我所能。
好的,我们下次再见。
2021.2.1服务端出现PayloadTooLargeError: request entity too large,打开dist/main.js,修改为
JAVASCRIPT 代码复制
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. require("dotenv/config");
  4. const core_1 = require("@nestjs/core");
  5. const app_module_1 = require("./app.module");
  6. const port = process.env.PORT || 8080;
  7. async function bootstrap() {
  8.     const app = await core_1.NestFactory.create(app_module_1.AppModule);
  9.     var bodyParser = require('body-parser');
  10.     app.use(bodyParser.json({limit: '50mb'}));
  11.     app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));
  12.     app.useStaticAssets("www");
  13.     await app.listen(port);
  14. }
  15. bootstrap();

原因:node限制最大上传大小

评分

参与人数 10+10 收起 理由
石林尘影 + 1
windseemslike + 1 精品文章
wr282828 + 1 精品文章
星砂兔 + 1 塞糖
a66294836 + 1 精品文章
347780682 + 1
白嫩白嫩的 + 1 精品文章
candlesor + 1 塞糖
1553866533 + 1 塞糖
吟游诗人_zhen + 1 塞糖

查看全部评分

<a herf="#">monster-phone:restart almost completed<a>
old way end new way start nothing care whenI fall in chair

Lv3.寻梦者

梦石
0
星屑
3698
在线时间
314 小时
注册时间
2019-8-9
帖子
206

极短22参与

2
 楼主| 发表于 2021-1-28 20:22:10 | 只看该作者
如果有问题,请尽早提出。我好修复。

点评

附上强制修改读取和存储参考的网址。https://rpg.blue/forum.php?mod=viewthread&tid=484491  发表于 2021-1-28 20:28
<a herf="#">monster-phone:restart almost completed<a>
old way end new way start nothing care whenI fall in chair
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2115
在线时间
235 小时
注册时间
2019-4-10
帖子
119
3
发表于 2021-1-28 20:25:14 | 只看该作者
虽然我看不太懂教程,但我还是说:"大佬Nb!!!!!!!!!!"

点评

如果你已经在使用的话,请尽快更新一下,因为刚刚发现dist包传错了。  发表于 2021-1-28 20:32
都是风雨声大佬后端给力,  发表于 2021-1-28 20:27
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
11364
在线时间
611 小时
注册时间
2016-8-25
帖子
1401

R考场第七期纪念奖

4
发表于 2021-1-28 22:46:31 | 只看该作者
你真的只是高中生吗

点评

现在是大学生了  发表于 2021-1-29 12:15
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6117
在线时间
1557 小时
注册时间
2011-6-14
帖子
520
5
发表于 2021-1-29 07:08:27 | 只看该作者
有志者、事竟成,破釜沉舟,百二秦关终属楚
苦心人、天不负,卧薪尝胆,三千越甲可吞吴

点评

谢顶,正在继续制作,感谢支持  发表于 2021-1-29 12:15
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3698
在线时间
314 小时
注册时间
2019-8-9
帖子
206

极短22参与

6
 楼主| 发表于 2021-1-29 18:53:14 | 只看该作者
安卓端移植的跨域问题今天已经解决,但是仅仅是针对我自己使用的打包系统。需要自己改。相映的东西。如果各位是使用一键打包来打包的话,如果你使用的链接为HTTP协议的话,那很大概率会无法登陆。因为安卓八以上就无法直接获取铭文通信的权限。需要自己在加入相应配置。具体方法可以百度搜索。安卓八以上访问HTTP,另外就是跨域问题,由于各位使用的和我不尽相同,所以跨域问题的解决方式也比较奇怪。各位可以尝试一下。搜索。快于问题的解决方式,大概率会直接弹出浏览器的。移动端目前也就那么几篇文章。各位耐心寻找一下一定可以的。如果你和我一样使用的是capacitor那么可以去他的官网找相应的插件和修改的方式。但是由于修改后的文件和之前的有很大的不同之处。所以各位以自己的修改为准。稍后我会整合一下。把我解决跨域问题的方式。公布一下。希望各位稍微支持一下。顺便说一下,最上面插件因为两次传错导致各位重复下载,但请一定要更新。不然有些功能就没有办法实现。另外就是有问题可以直接跟帖询问。需要给出截图和问题所在以及制作了哪些操作。希望各位能挖掘出更多的问题。也好让这套系统更加的完善。先谢过各位了。
<a herf="#">monster-phone:restart almost completed<a>
old way end new way start nothing care whenI fall in chair
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2893
在线时间
159 小时
注册时间
2020-11-16
帖子
90
7
发表于 2021-1-29 22:14:21 | 只看该作者
顶一个先!!!

点评

别太水了,不上手试试?  发表于 2021-1-30 00:31
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
228
在线时间
14 小时
注册时间
2020-10-7
帖子
16
8
发表于 2021-1-29 23:44:11 | 只看该作者

回帖奖励 +10

大佬牛逼

点评

任何使用都比夸赞有效  发表于 2021-1-30 00:31
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4839
在线时间
884 小时
注册时间
2014-12-3
帖子
63
9
发表于 2021-1-30 09:02:58 | 只看该作者
卡一个 等其他大佬测试

点评

自己试试嘛,挺简单的  发表于 2021-1-30 12:20
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22088
在线时间
1135 小时
注册时间
2016-1-6
帖子
3404
10
发表于 2021-1-30 16:34:21 | 只看该作者

回帖奖励 +10

楼主太棒了,高手啊。

点评

大佬不去试试吗?有问题尽快反馈哦  发表于 2021-1-30 17:37
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 18:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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