本帖最后由 Prismaillya 于 2017-9-16 17:13 编辑
PrismaillyaVoiceControl 你试过语音管理服务器吗
开发:Prismaillya 测试:Niconico0w0
使用效果视频
PS:视频里的不是本人...不要再问我一些奇怪的问题了...
简介
这是我开发的一个公众号管理服务器的系统,使用这个系统,你可以在微信里说一句话,就能管理自己的服务器了。
还需要什么开服器?论远程管理,语音管理,逼格更高吧?
目前功能暂不完善,如果有问题请一定一定要在帖子里反馈给我!我看到了以后一定会立即回复的!
本人的公众号:Prismaillya,欢迎测试效果。
准备工作
在此之前,你需要拥有这些东西:
1.一个绑定了你本人银行卡的微信(如果未成年你可以寻求父母帮助,例如我)
2.一台可用的服务器,并且需要已经部署好 PHP
3.一个善于思考的脑子
开始创建微信公众号
首先我们打开 mp.weixin.qq.com 微信公众平台,并点击右上角 “立即注册”
选择公众号类型为 “订阅号”
输入一个有效的邮箱,然后点击 “激活邮箱”,这时你会收到一封验证邮件。
打开你的邮箱,查看验证码,填写到刚刚的页面。
输入密码,然后点击确定即可。
接下来,你需要输入公众号信息、身份信息,然后使用绑定了该身份银行卡的微信号扫描二维码,完成绑定。
最后,一切无误的话,你就可以进入微信公众平台了。
配置服务器和Token
进入后台后,找到 “开发者” 栏目,进入 “基本配置” 页面。
然后点击右侧的 “修改配置” 按钮
在 URL 里输入你的服务器地址,例如 http://www.example.com/weixin/
* 注意:在你绑定了服务器地址后,其他用户发送到你的公众号所有的消息都会转发到这个地址,所以建议你不要暴露这个地址,以免被恶意攻击。
接着输入一个 Token,必须为英文或数字,长度为3-32字符,例如 Abcdefg1234567890
* 请勿泄露此 Token,否则服务器可能会被恶意窃取信息。
接着还有一个 EncodingAESKey,这个可以随便填,点击随机生成也可以。
模式建议先选择 “兼容模式”,这更适合开发。
先别急着点提交!请接着往下看!
首先到你的服务器里,例如你在 URL 里输入了 http://www.example.com/weixin/,那么你就在目录下新建文件夹 “weixin”
然后打开这个目录,在里面再新建一个文本,名字叫 index.php,打开它。
打开后输入以下内容:
- <?php
- echo $_GET["echostr"];
- ?>
复制代码 然后保存,再返回微信公众平台,点击提交按钮,这时候微信服务器会访问你的服务器进行验证,如果验证通过的话,它会提示的。
验证通过后,点击启用。
然后我们找到刚刚那个文件,把 echo 这一行改为:
- file_put_contents("test.log", "[POSTDATA]" . $GLOBALS["HTTP_RAW_POST_DATA"] . "[POSTDATA]\n\n", FILE_APPEND);
复制代码 然后打开你的微信,在通讯录->公众号->点击右上角 “+”,然后输入你的公众号名字并搜索。
关注你的公众号,进入后,随便输入一些消息。
查看你的网站目录,你应该会看到一个叫 test.log 的文件,打开它。你可以看到这样的内容:
- [POSTDATA]
- <xml>
- <ToUserName><![CDATA[此处是你的开发者ID]]></ToUserName>
- <FromUserName><![CDATA[这里就是你的微信OpenID,请记下来]]></FromUserName>
- <CreateTime>1505187186</CreateTime>
- <MsgType><![CDATA[text]]></MsgType>
- <Content><![CDATA[此处就是你发送的内容]]></Content>
- <MsgId>6464729738747493926</MsgId>
- <Encrypt>此处就是经过加密的消息内容</Encrypt>
- </xml>
- [POSTDATA]
复制代码 记住你的 OpenID,后面需要用到。
接着我们下载管理系统源代码:
下载后,解压,放入刚刚新建的 “weixin” 文件夹里。
打开它,建议使用 NotePad++ 等专业编辑器打开,修改对应信息,文件里已经写了注释。
你的服务器需要启用 Rcon,启用方法:
1.打开服务端的 server.properties 文件。
2.把 enable-rcon=false 改为 enable-rcon=true
3.添加两行:
rcon.port=服务器 Rcon 端口,不能和服务器端口相同
rcon.password=服务器 Rcon 密码,仅支持英文。
4.保存。
在 weixin\index.php 里,输入你刚刚配置的端口和密码,保存。
里面有一个 $adminOpenID = ""; 在双引号里输入你的 OpenID,获取方法上面已经讲过了。
Token 就是你在 微信公众平台->开发->基础配置 里填写的 Token
$serverDirNm 就是你的服务端文件夹位置,例如 D:\MinecraftServer ,注意结尾不要加 \
* 注意,服务端文件夹位置一定不要有中文名!否则一定会出错的!作者已经被这BUG坑了= =
然后我们进入服务端文件夹,新建文本文件,名为 RemoteControl.cmd
编辑,输入内容:
- @echo off
- title Prismaillya 服务器远控启动
- :home
- cls
- echo.
- echo 正在等待启动指令...
- echo.
- if exist "ServerStartControl.file" goto start
- ping 127.0.0.1 -n 3 >nul
- goto home
- :start
- JAVA -Xms1024M -Xmx1024M -jar PaperSpigot-1.8.8-R0.1-SNAPSHOT.jar
- del "ServerStartControl.file"
- goto home
复制代码 保存,双击运行,最小化到一边去就好了。
配置好了,我们打开微信,用语音发一句 “伊莉雅,帮我启动服务器”。
然后看看那个 CMD 窗口,服务器是不是启动了呢?
语音指令列表
帮我启动(运行/开启)服务器 —— 启动 Minecraft 服务器
帮我关闭(关掉/停止)服务器 —— 正常关闭 Minecraft 服务器
帮我结束服务器 —— 强制结束 Java 进程。
发送消息xxxxxx —— 发送一句消息,后面的内容xxxxxx随便是什么都可以。
在线玩家列表(获取在线玩家列表/谁在服务器里/告诉我谁在服务器) —— 读取在线的玩家列表
服务器状态(服务器当前状态/服务器运行的怎么样了/服务器目前状态) —— 获取服务器目前内存占用信息、世界状态
服务器插件(服务器装了什么插件/服务器装了哪些插件/服务器有什么插件) —— 获取服务器安装的插件列表
重载服务器(重新加载服务器/重新加载服务器配置/重启服务器) —— 重载,相当于执行 reload 命令
给我服务器记录(给我服务器日志/发送服务器日志/给我服务器信息) —— 读取服务器logs
命令可以拓展,只要包含关键字就可以了,例如你可以说:Nico,帮我启动服务器 一样可以启动服务器。
发送消息的话,你只需要说:发送消息哈哈哈哈哈 就会自动发送消息 “哈哈哈哈哈”
问题反馈
由于本人只有一个公众号,没法测试,但是我自己那一份已经测试通过了,建议大家先自己创建公众号进行测试。
如果有任何问题(我也相信可能会出现问题,因为我没法测试),请反馈给我,请记得带上错误截图,并详细描述错误状况,谢谢!!!
关于程序
主体由 Prismaillya 编写,Rcon 操作类是第三方开源的:https://developer.valvesoftware.com/wiki/Source_RCON_Protocol
感谢支持!!
|