解决rAthena提示的s1/p1安全警告

根据之前《修改基本配置,让rAthena跑起来》大家应该都可以成功的让rAthena跑起来了。但是细心的同学或许会发现char和map的黑框中,显示出了一句WARNING警告:Using the default user/password s1/p1 is NOT RECOMMENDED.

其意思是告诉大家,不推荐使用默认的用户名和密码s1和p1,那么问题来了,s1和p1是什么账号密码呢?又应该如何修改呢?别急,这里慢慢道来…

首先,要告诉大家,在一般情况下,我们的login、char、map以及MySQL都运行在一台服务器里面,如下图所示:

但是实际上,我们的login、char、map实际上并不一定非得放在一台机器上运行,他们是可以分开到多个机器上运行的(MySQL可放在任一机器上,甚至独立一台服务器专门只放MySQL):

但是如果将他们分开,那么意味着他们肯定无法和MySQL在同一台机器,会导致需要“远程访问数据库”,而远程访问数据库的性能又相对低下。所以我们一般很少会故意将他们分开。

为什么说这件事情呢?因为假设真的是将login、char、map分开在不同机器,那么问题就来了,char如何知道即将请求建立链接的map是自己人呢?没错,就是通过一组服务器专用的通讯账号密码来识别!

这组账号密码,默认情况下账号是s1,密码是p1,如果char没有拿着正确的账号密码来连接login的话,那么连接是不会成功的,如果map没有拿着正确的账号密码来连接char的话,也是不会成功的。

那么如果用默认账号密码会有什么问题呢?问题就是:别人只要知道你的服务器IP地址,以及你在用的端口号,然后就可以自己搞个服务端,用他自己的map去连接你的char,如果成功……那么你所有玩家都会掉线

所以,如果是本机测试,那么这个账号密码无关紧要,但是如果你要开服,那么这个账号密码是必须要修改的,否则在懂的人看来,后患无穷。

接下来,我将向大家介绍如何修改这个账号密码!

首先请打开你的数据库管理工具,在ro_main的Tables里面找到login表:

这个login表记录着玩家的账号,以及服务器通讯账号密码,我们可以在里面看到一个性别为S的账号,这里的S表示Server(服务器):

现在,大家请双击s1,修改一个自己能接受的服务器通讯账号名,比如我这里改成lovero_s1;再双击p1,修改一个新的密码,比如我这里改成lovero_p1,最后一定要记得点击左上角的“保存”按钮,否则刚刚的修改不会生效:

好了,现在我们已经修改了默认的服务器通讯账号和密码,但是这还不算完事~ 这个地方的账号密码,仅仅是当有char服务器来连接login服务器的时候,login服务器可以从这里去确认char提供的账号是否正确用的。

但是char服务器用哪个账号来连接login服务器,是配置在conf文件夹中的char_athena.conf文件里面的!请打开打开此文件,将正确的账号密码填入并保存:

聪明的你或许会问,那么map服务器连接char服务器的时候,是不是也应该有个地方可以配置呢?没错,请打开conf文件夹中的map_athena.conf,可以看到也有类似的账号密码设置,请将正确的账号密码填入密码并保存:

现在,再双击runserver.bat重新打开服务器,这时候WARNING信息就会消失不见了,至此问题解决,希望大家也能学习到s1p1是做什么用的!