最MC论坛

标题: [开服器][1.0][开源] PrismaillyaVoiceControl —— 用语音管理你的服务器 [打印本页]

作者: Prismaillya    时间: 2017-9-16 17:09
标题: [开服器][1.0][开源] PrismaillyaVoiceControl —— 用语音管理你的服务器
本帖最后由 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,打开它。

打开后输入以下内容:
  1. <?php
  2. echo $_GET["echostr"];
  3. ?>
复制代码
然后保存,再返回微信公众平台,点击提交按钮,这时候微信服务器会访问你的服务器进行验证,如果验证通过的话,它会提示的。

验证通过后,点击启用。

然后我们找到刚刚那个文件,把 echo 这一行改为:
  1. file_put_contents("test.log", "[POSTDATA]" . $GLOBALS["HTTP_RAW_POST_DATA"] . "[POSTDATA]\n\n", FILE_APPEND);
复制代码
然后打开你的微信,在通讯录->公众号->点击右上角 “+”,然后输入你的公众号名字并搜索。

关注你的公众号,进入后,随便输入一些消息。

查看你的网站目录,你应该会看到一个叫 test.log 的文件,打开它。你可以看到这样的内容:
  1. [POSTDATA]
  2. <xml>
  3.     <ToUserName><![CDATA[此处是你的开发者ID]]></ToUserName>
  4.     <FromUserName><![CDATA[这里就是你的微信OpenID,请记下来]]></FromUserName>
  5.     <CreateTime>1505187186</CreateTime>
  6.     <MsgType><![CDATA[text]]></MsgType>
  7.     <Content><![CDATA[此处就是你发送的内容]]></Content>
  8.     <MsgId>6464729738747493926</MsgId>
  9.     <Encrypt>此处就是经过加密的消息内容</Encrypt>
  10. </xml>
  11. [POSTDATA]
复制代码
记住你的 OpenID,后面需要用到。

接着我们下载管理系统源代码:
PHP源代码 [attach]20333[/attach]

下载后,解压,放入刚刚新建的 “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

编辑,输入内容:
  1. @echo off
  2. title Prismaillya 服务器远控启动
  3. :home
  4. cls
  5. echo.
  6. echo   正在等待启动指令...
  7. echo.
  8. if exist "ServerStartControl.file" goto start
  9. ping 127.0.0.1 -n 3 >nul
  10. goto home
  11. :start
  12. JAVA -Xms1024M -Xmx1024M -jar PaperSpigot-1.8.8-R0.1-SNAPSHOT.jar
  13. del "ServerStartControl.file"
  14. goto home
复制代码
保存,双击运行,最小化到一边去就好了。

配置好了,我们打开微信,用语音发一句 “伊莉雅,帮我启动服务器”。

然后看看那个 CMD 窗口,服务器是不是启动了呢?

语音指令列表

帮我启动(运行/开启)服务器  ——  启动 Minecraft 服务器
帮我关闭(关掉/停止)服务器  ——  正常关闭 Minecraft 服务器
帮我结束服务器  ——  强制结束 Java 进程。
发送消息xxxxxx  ——  发送一句消息,后面的内容xxxxxx随便是什么都可以。
在线玩家列表(获取在线玩家列表/谁在服务器里/告诉我谁在服务器)  ——  读取在线的玩家列表
服务器状态(服务器当前状态/服务器运行的怎么样了/服务器目前状态)  ——  获取服务器目前内存占用信息、世界状态
服务器插件(服务器装了什么插件/服务器装了哪些插件/服务器有什么插件)  ——  获取服务器安装的插件列表
重载服务器(重新加载服务器/重新加载服务器配置/重启服务器)  ——  重载,相当于执行 reload 命令
给我服务器记录(给我服务器日志/发送服务器日志/给我服务器信息)  ——  读取服务器logs

命令可以拓展,只要包含关键字就可以了,例如你可以说:Nico,帮我启动服务器 一样可以启动服务器。

发送消息的话,你只需要说:发送消息哈哈哈哈哈 就会自动发送消息 “哈哈哈哈哈”

问题反馈

由于本人只有一个公众号,没法测试,但是我自己那一份已经测试通过了,建议大家先自己创建公众号进行测试。

如果有任何问题(我也相信可能会出现问题,因为我没法测试),请反馈给我,请记得带上错误截图,并详细描述错误状况,谢谢!!!

关于程序

主体由 Prismaillya 编写,Rcon 操作类是第三方开源的:https://developer.valvesoftware.com/wiki/Source_RCON_Protocol

感谢支持!!







欢迎光临 最MC论坛 (http://www.zuimc.com/) Powered by Discuz! X3.2