【DST专用服务器】手把手(并不是)教你从零开始在Ubantu上开饥荒

这篇文章适合的读者:
? 已经在Windows成功开服,
? 有一定计算机基础,但未使用过Ubantu
帮助不大的读者:
? 没有任何开服经验
建议Windows下进行尝试,Ubantu Server的命令行下查找编辑各种配置文件相对困难
? 对Ubantu非常熟悉
开玩笑,我Ubantu才用了两天而已,你看我写的八成浪费时间
? 有钱人
直接升级你的Windows服务器是更加方便的选择,毕竟时间成本不可避免

前言
又不是写论文,我就随便写写了.
本来是占便宜用阿里云9块9的学生价(我已经不是学生了啊啊啊,心里真是不好接受)服务器装个Windows服务器对付玩的,后来发现洞穴要双开实在没办法才逼得我花了一天时间改了个Ubantu.
所以咯,基础就是阿里云的单核,1G内存的好(lan)服务器.只管开起来,各种细节配置请移步各种精品贴,里面已经有人各种不厌其烦的详尽说明了.
想用Ubantu Server的话,输点命令还是不可避免的,我也是第一次用,所以操作我尽量写详细.截图演示用的是我的虚拟机和服务器混着来的,基本差不多.

一、 系统配置篇
首先,拿到服务器之后,在你自己的Windows电脑上下载个putty.绿色的,不用安装,还挺良心,就是图标有点磕碜,搞得我以为回到了win98似的.



P1-1
只要填上你的公网IP就可以了,其他一律默认配置,连接之前记得先保存一下连接信息,省的下次还得写.其他的各种配置我还没研究.暂时看起来没什么需要的.



P1-2
连接上之后用你的管理员账户登录,用户名是root,密码我怎么知道,你买服务器选配置的时候写的那个密码就是了.下一步就是创建个新用户,按照steam的官方建议(算是建议么),就叫steam好了.用到以下命令:
useradd -msteam
[说明]添加一个叫steam的新用户
passwdsteam<password>
[说明]给steam用户设置密码(官方没有这一步,但是不加后面感觉坑好多),<password>这个换成你自己的密码
vim /etc/sudoers
[说明]使用vim编辑器编辑sudo权限,主要就是像下图一样添加一行白框中的文字就好.首先,按i键进入插入(捂脸)模式,然后才能输入,输入完成后,按shift+:会进入末行模式,输入命令wq!就可以保存退出了.



P1-3
susteam
[说明]切换至steam用户

切换后各种操作如果出现权限不足的情况,请在命令前加sudo尝试使用管理员权限操作.

接下来是重要的安装.安装一个FTP服务端,方便你进行后面的安装,也方便以后添加各种配置,折腾存档之类的,当然,你自己的电脑上要装个FTP客户端.
sudoapt-get install vsftpd
[说明]安装vsftpd
vim /etc/vsftpd.conf
[说明]配置vsftpd,编辑器的使用方法同上,主要就是打开写权限,去掉写权限前面的注释符号.其他的大概跟图上的差不多就行了.



P1-4
然后用你的FTP客户端试着连接一下,成功之后本篇基本大功告成.其他的基本就不用再折腾命令行了,直接在客户端上写好用FTP传上去就行.我也不常用Ubantu,全都用命令行还是有点闹心.



P1-5
排版乱我也没办法,可以看这个PDF就不乱了...
等等,附件要5级才可以?真是麻烦死.
http://pan.baidu.com/s/1o6xRX7G
接下来的第二篇是开服的重点,等我慢慢写,给我两个小时好了.

楼主 fgc0109  发布于 2015-11-14 16:10:00 +0800 CST  
呦呵,见了鬼了,这文章给我恢复了


那我还是在这里继续写吧,反正排版一样难用,也很难写的更漂亮了。先别插楼呀,让我先写完,着急的请直接看pdf文档~~
PDF文档:http://pan.baidu.com/s/1ntlIY3B
shell脚本:http://pan.baidu.com/s/1o6Ehky2


关于此贴的吐槽贴 http://tieba.baidu.com/p/4159411233

楼主 fgc0109  发布于 2015-11-17 00:53:00 +0800 CST  








楼主 fgc0109  发布于 2015-11-17 01:32:00 +0800 CST  






楼主 fgc0109  发布于 2015-11-17 01:36:00 +0800 CST  






楼主 fgc0109  发布于 2015-11-17 01:41:00 +0800 CST  
好啦 教程就这么多了


用图片发成这样也是没办法....毕竟写已经花了很长时间了,再改掉链接重发简直是不能忍
有问题的话还是花点时间看一下...我自己感觉已经写得很详细了

楼主 fgc0109  发布于 2015-11-17 01:45:00 +0800 CST  
服务器运行两个饥荒联机服务器的情况




基本算是完全充分的榨干了这个小破服务器的所有潜力了....网速是10M,走流量的,偶尔稍稍有延迟

楼主 fgc0109  发布于 2015-11-17 19:31:00 +0800 CST  
今天稍微更新下脚本


主要是根据@o_oo_ooo_oooo的反馈和帮助增加了查看screen之类的命令
4)
sudo screen -ls;;
5)
sudo screen -r world;;
第二个就是增加了快速开启两个服务器的函数


#-------------------------------------------------------------------------------------------
function ServerStartQuick()
{
echo -e "\033[32m[info] Choose Save File [1-5]\033[0m"
read input_save

cd "$gamesPath"


if [ -d "temp_world.sh" ]; then
sudo rm -r temp_world.sh
fi
if [ -d "temp_cave.sh" ]; then
sudo rm -r temp_cave.sh
fi


echo -e "\033[33m[info] Starting Cave Server, Please Wait\033[0m"
echo sudo screen -d -m -S "caves" "$gamesFile" -conf_dir DoNotStarveCaves_"$input_save" > "temp_cave.sh"
. ./temp_cave.sh
sleep 30

echo -e "\033[33m[info] Starting World Server, Please Wait\033[0m"
echo sudo screen -d -m -S "world" "$gamesFile" -conf_dir DoNotStarveServer_"$input_save" > "temp_world.sh"
. ./temp_world.sh
sleep 30

if [ -d "temp_world.sh" ]; then
sudo rm -r temp_world.sh
fi
if [ -d "temp_cave.sh" ]; then
sudo rm -r temp_cave.sh
fi

echo -e "\033[33m[info] Current Screen Infomation\033[0m"
sudo screen -ls
echo "$dividing"

top
#"$gamesFile"
}


这样就不用进去开一个,然后退出screen在开另外一个了
但是问题是,快速开启有时候成功,有时候失败,开始以为是同时请求登录时候CPU占用过大失去响应之类的问题。但是后来延时再大好像也没什么效果


一般在cavebeta开启失败出现的错误是CURL ERROR: Failed to connect to analytics-staging.kleientertainment.com port 443: Connection refused
在正常版本错误是CURL ERROR: Operation timed out after 0 milliseconds with 0 out of 0 bytes received


感觉基本都是网络的问题,登录不了账号,暂时没发现好的解决办法。失败了就只有kill掉重新开始了,但是单独开又似乎没有这问题...简直见了鬼


PS ,今天,啊不对,应该是昨天了,有个大更新,贴吧好像有提到。现在不用选测试的cave版也能开洞穴联机了好像。开服的时候可以选择先update到正常的normal版本


PSS,写了脚本还得后期维护更新有点蛋疼,不过该加的功能还得加,毕竟自己也方便。有什么功能上的错误和异常请反馈给我...我看到了肯定回复,但是肯定不及时,因为我不怎么上贴吧。

楼主 fgc0109  发布于 2015-11-20 06:03:00 +0800 CST  
#-------------------------------------------------------------------------------------------
function FilesBackup()
{
echo -e "\033[32m[info] Choose File To Backup [1-5]\033[0m"
read input_filebackup


if [ -d ".klei" ]; then
cd ".klei"

if [ ! -d "SaveBackupHistory" ]; then
mkdir "SaveBackupHistory"
fi

if [ -d "DoNotStarveServer_$input_filebackup" ]; then
sudo tar -zcf DoNotStarveServer_$input_filebackup.tar.gz DoNotStarveServer_$input_filebackup
sudo tar -zcf SaveBackupHistory/DoNotStarveServer_${input_filebackup}"_"$(date +%y%m%d%H%M%S).tar.gz \
DoNotStarveServer_$input_filebackup
echo -e "\033[33m[info] File DoNotStarveServer_$input_filebackup Is Backuped\033[0m"
fi
if [ -d "DoNotStarveCaves_$input_filebackup" ]; then
sudo tar -zcf DoNotStarveCaves_$input_filebackup.tar.gz DoNotStarveCaves_$input_filebackup
sudo tar -zcf SaveBackupHistory/DoNotStarveCaves_${input_filebackup}"_"$(date +%y%m%d%H%M%S).tar.gz \
DoNotStarveCaves_$input_filebackup
echo -e "\033[33m[info] File DoNotStarveCaves_$input_filebackup Is Backuped\033[0m"
fi

cd "../"
fi
}






这个函数可以加几行,增加个保存历史备份的功能
但是这个历史存档要还原就得手动了


不是啥大改动,我就不传脚本上来了,有需要的自己改改就好

楼主 fgc0109  发布于 2015-11-20 07:16:00 +0800 CST  
我前几天改的时候也快崩溃了…这玩意更新之后改了路径…
已经会自动分成两个文件夹了,所以就没必要在用脚本分地上地下…
反正路径这事有点麻烦,root和不是root初始路径还不一样,还要判断下,然后还有第一次创建服务器时候的检测和创建配置文件…我写了一点没写完,现在没时间了……连星期天都加班

楼主 fgc0109  发布于 2016-05-16 18:18:00 +0800 CST  

楼主:fgc0109

字数:4913

发表时间:2015-11-15 00:10:00 +0800 CST

更新时间:2017-01-26 19:45:57 +0800 CST

评论数:106条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看