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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3658
在线时间
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, 下载次数: 44, 售价: 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

Lv1.梦旅人

梦石
0
星屑
68
在线时间
5 小时
注册时间
2023-1-11
帖子
12
26
发表于 2023-1-12 21:37:48 | 只看该作者
PLeaseS 发表于 2021-1-28 22:46
你真的只是高中生吗

wc,真的c爆了,直接收藏保存
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3059
在线时间
428 小时
注册时间
2019-6-8
帖子
43

极短23参与

25
发表于 2022-3-30 22:34:21 | 只看该作者

回帖奖励 +15

输入npm i –prod后提示缺少package.json是咋回事啊
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
522
在线时间
66 小时
注册时间
2020-1-4
帖子
18
24
发表于 2021-8-21 16:08:36 | 只看该作者

回帖奖励 +15

大佬6666
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
44
在线时间
7 小时
注册时间
2021-3-6
帖子
29
23
发表于 2021-5-1 20:04:25 | 只看该作者

回帖奖励 +15

大佬nb!
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
817
在线时间
103 小时
注册时间
2020-12-26
帖子
81
22
发表于 2021-2-9 13:00:23 | 只看该作者

回帖奖励 +15

不明觉厉!十万支持!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1725
在线时间
122 小时
注册时间
2020-12-31
帖子
5
21
发表于 2021-2-9 11:58:37 | 只看该作者

回帖奖励 +15

厉害了,真实萌新路过
后悔,总之就是肥肠后悔.jpg
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
388
在线时间
63 小时
注册时间
2018-10-23
帖子
9
20
发表于 2021-2-8 15:35:09 | 只看该作者

回帖奖励 +15

玩出新高度了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1366
在线时间
177 小时
注册时间
2017-6-28
帖子
48
19
发表于 2021-2-6 19:43:46 | 只看该作者
大佬,想请问一下关于服务器那边要怎么接?mongodb不是有个cloud.mongodb.com是不是可以用来做服务器?

点评

理论上可以,.env文件的数据库地址改成你获取的就行  发表于 2021-2-8 22:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
21
在线时间
4 小时
注册时间
2020-4-8
帖子
1
18
发表于 2021-2-5 09:30:26 | 只看该作者
大佬厉害啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 17:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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