大家好,我是贰狐,是一个动画工作者。
说起来我不也不算coder,只是工作之余会上GitHub看看有什么增加工作幸福感的“车轮”。
高中时期就自己零零散散的跟前辈们学过一些小技巧,对这方面很感兴趣,却是万万不敢说自己是大佬的。
从15年接触腾讯云到现在、从学生机开始,一点点学习进步,腾讯云陪伴了我这个半开发者的6年旅程。
今天来跟大家分享我使用腾讯云服务器部署drawpile服务器的过程吧!
Drawpile是什么?
Drawpile是一个非常强大的协同绘画开源项目,旨在为绘画爱好者提供高质量的在线绘画平台。
这款软件支持最高255人同屏协同绘画以及简单的即时聊天,同时支持Windows、Linux、MacOS三款PC操作系统。
借由Drawpile,你可以和朋友天各一方却可以在同一张画布上进行绘画,有效的提高共同工作效率和创意分享。
并且可以将绘画步骤保存成为视频格式(需要FFmpeg)。并且对于绘画工作者最大好处是它支持大部分数位板驱动。
我为什么需要它?
有时候在做一下卡的修改,会经常需要在线讨论、修改和演示,虽然也有其他软件可以用,但是我还是比较喜欢Drawpile的,并且也经常用它和朋友茶绘(在线共同绘画)。但是Drawpile有个问题就是官方部署的服务器大多在国外,绘画时有较高的延迟和不稳定性。于是我在官方文档中查阅了自建服务器的步骤后,决定自行搭建一个国内的服务器给朋友们使用。
由于在绘画时,客户端经常需要刷新缓存,所以带宽一定要越大越好。
因此我选择了经济实惠的腾讯云轻量服务器~
遇到的问题?
我手头是有不少腾讯云轻量的,都是一次次万恶的打折忍不住剁下来的手。
根据我多年不靠谱的经验,我决定使用一台Ubuntu来搭建。
根据在官方GitHub:https://github.com/drawpile/dpserver看到的README说明,一体化Docker搭建目前仅支持Debian,但是我心说Ubuntu不是和Debian差不多嘛,来试试吧!
然后遇到了一个严重的问题困扰了我数个小时,部署安装时候执行cd dpserver && ./setup.sh
会没任何提示就失败了
看了看脚本也没看出所以然(经验不足)。
最后百思不得其解的我在本地开了一个WSL2的Debian10虚拟机进行尝试,发现它部署时居然需要可视化填写一个完全可以放在文档里告诉你怎么修改的config值,但是SSH是不支持的,所以会直接跳出。
所以如果希望使用一键脚本部署,请务必按照脚本自行写出配置,而不是傻乎乎的像我这样撞墙(捂脸)。
以下是Linux下部署官方教程 https://drawpile.net/help/server-howto/
但是注意这里部署的服务器是包含列表服务器、网页显示在内的全套社区配件(即All-in-one server package),
若只需要搭建本体,请直接参照服务器搭建帮助https://drawpile.net/help/server/中所属配置项,直接自行拉取本体Docker,
即docker pull drawpile/drawpile-srv
后按需配置DockerFile后启动即可。
简单的方法
后来在查阅帮助信息时,发现Windows也可以搭建,并且在客户端中集成了server端的exe编译!
直接来到下载界面 https://drawpile.net/download/
下载Windows客户端,安装后在安装位置找到drawpile-srv.exe
双击运行后就可以看到控制台
配置选项
选项对应功能如下:
Server Title 房间名称
Welcome Message 欢迎词
Connection Timeout 连接超时 选项:unlimited(无限制)
- Allow unauthenticated users 允许未经身份验证的用户
- Allow anyone to host sessions 允许任何人创建会话
Server log 服务器日志
选项:keep all(保存所有)
选项:purge older than N days(清除N天前的日志)
Session size limit 会话大小限制
Default autoreset threshold 默认自动重置阈值
Session idle timeout 会话空闲超时
Maximum sessions 最大会话数量
- Allow sessions to persist without users 允许会话在没有用户的情况下保持不变
- Archive terminated sessions 存档已经终止的会话
- Do not include user list is session announcement 如果勾选则会话公告中不包括已登录用户的列表
- Allow custom avatars 允许自定义头像
External authenticati on 外部认证
Validation key 验证密钥
User group 用户组
- Permit guest logins when ext-auth server is unreachable 若无法访问第三方验证服务器,则允许游客登录
- Allow ext-auth moderators 允许第三方验证服务器验证管理员权限
- Allow ext-auth hosts 允许第三方验证服务器验证房间
- use ext-auth avatars 使用第三方验证服务器头像
修改成满意的配置后,点击Start就成功开启Drawpile服务器了!是不是非常简单?
修改端口及绑定域名
在上面的Setting按钮处设置即可,设置时应该关闭服务器,或完成后重启服务器以生效。
官方登录配置
Drawpile官方有账号系统,注册后可以在上面登记你的服务器,或者绑定服务器管理权限等。
用户使用官方帐号登录你的服务器也可以获得比纯游客更多权限,登入官方帐号,也可以防止部分小鬼炸服。
首先在setting按钮弹出的窗口,在Ext-auth server
项目处输入https://drawpile.net/api/ext-auth/
然后保存,回到主界面,在Validation key
处输入9eJ2tMJlqgSqHOIK/GI/qzS14WqIxHeB1Im5Hs/CCCk=
重启服务器以生效。
远程访问
这个控制台不仅仅是可以在Windows下开启服务器,也可以远程控制Linux服务器。
也就是说,你在自己电脑上也可以远程修改服务器配置。
但是遗憾的是根据我在Discord上向官方人员咨询得出的结果,Windows开启的服务器,不支持异地远程控制。
同时Windows开启的服务器也不支持绑定列表服务器(Linux搭建的listserver)。
通过以上步骤,就可以简单的部署一个自己的Drawpile绘画联机服务器,希望可以帮到大家,谢谢阅览。
觉得有用就点个赞吧