最近在自己的云服务器上搭建了Steam服务器,但是在传地图的时候无法直接用 scp 命令从PC将地图传到 steamcmd 用户上。而且试了一下,也不能用 scp file steamcmd@localhost:path 这种方法进行传输。原因大概是Linux系统中对用户的权限做了很严密的限制。于是自己总结了如下方法:
- 先将地图(或者其他文件)上传到 root 用户中;
- 在 root 中,输入
vim /etc/sudoers
; - 找到
root ALL=(ALL) ALL
,在下方新增steamcmd ALL=(ALL) ALL
,steamcmd是用户名; - 按退出键(Esc),输入
:wq!
强制保存,这时候steamcmd用户就有了访问root目录的权限了; - 之后切换到steamcmd用户,使用 cp 命令就可以将我们刚才上传的地图拷贝到steamcmd用户相应的目录下面了,例如:
sudo cp /root/L4D2/bloodymoors.vpk /home/steamcmd/Steam/steamapps/common/Left\ 4\ Dead\ 2\ Dedicated\ Server/left4dead2/addons