30. 游戏运营Part 1: 公告功能¶
iFun引擎提供了可以管理向客户端传输的公告文的功能。 该功能通过与游戏服务器分开的名为 iFun Announcer 的Python Django程序所提供。
当游戏运营者在Django管理员公告板上发布公告后,将通过iFun引擎的客户端插件iFun Announcer接收公告列表。
30.1. 安装iFun Announcer¶
为了使用公告事项服务,需要安装 iFun Announcer 包。需要该包文件的用户, 请发送邮件至 Funapi support 申请。
30.2. 设置iFun Announcer¶
下载iFun Announcer包后,解压到服务器的任一文件夹中。 按如下过程操作并设置DB。
30.2.1. 设置DB¶
30.2.1.1. Announcer for Django 1.7时¶
$ python ./manage.py makemigrations board
$ python ./manage.py migrate
30.2.1.2. Announcer for Django 1.10时¶
$ python ./manage.py makemigrations
$ python ./manage.py migrate
执行该操作,即生成名为 db.sqlite3
的DB文件。
30.2.2. 创建管理员账号¶
现在我们将创建管理公告板的管理员账号。
$ python ./manage.py createsuperuser
Username (leave blank to use 'master'):
Email address:
Password:
Password (again):
30.2.3. 更改管理员账号密码¶
想要更改密码时,使用**changepassword**命令语即可。
$ python ./manage.py changepassword [username]
30.3. 运行iFun Announcer¶
服务器可通过 manage.py
的 runserver 命令语运行。
$ python ./manage.py runserver 0.0.0.0:8080
若显示服务器已开启,没有其他报错消息,则公告服务器已正常开启。 在浏览器访问 http://127.0.0.1:8080/admin/ ,将显示登录画面。 외부에서 접속 시에는 announcer/settings.py 파일의 ALLOWED_HOSTS 에 서버 아이피 주소를 추가해줍니다.
$ vi announcer/settings.py
ALLOWED_HOSTS = ['{서버 아이피 주소}']
그리고 http://{서버 아이피 주소}:8080/admin/ 으로 접속하시면 됩니다. 通过上面创建的管理员账号登录,即可访问管理员页面。
Note
若在运行时输出如下日志,须要先执行 python ./manage.py migrate
。
Performing system checks...
System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
30.4. 发布/删除公告¶
登录到管理员页面,有一个名为 Announcements
的公告板。该公告板即为公告事项公告板。
点击进入,即可通过右上方的 Add announcement +
按钮发布公告事项。
对于帖子的删除,进入相应项目的详情页面后有删除按钮。
发布帖子时,可以添加图片或URL等。公告事项中包含的项目并不是既定的。 管理员自己定义必要的项目进行使用即可。
30.5. (高级) iFun Announcer扩展¶
通过iFun Announcer可添加文本、图片、URL到帖子中。
若除此以外有其他需要添加的项目,可在iFun Announcer的 board/models.py
文件中添加必要的字段。
添加或修改字段后,按如下方式,须在DB结构中体现变更事项。
$ python manage.py migrate
Tip
字段被更改后,将难以使用原来的DB文件,所以构建完DB后最好不要更改字段。
Important
默认提供的字段也是在客户端插件中使用的字段,所以不得修改或删除。