搭建阿里云服务器

本次使用的服务器是“阿里云高校学生计划”的免费服务器,系统为Centos7.3 64位(2核4G1M带宽)

如果还没有一台云服务器可以点击以下链接进行购买:

活动链接:https://www.aliyun.com/minisite/goods?spm=5176.11533457.1089570.11.20df77e3q1AGqW

image-20201007232323025

学生机链接:https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.14145661.J_3598540520.ace-channel-latest-activity-card.4f061875ukz5rC&userCode=rrknhe45&tag=share_component&share_source=copy_link

image-20201007232348864

“阿里云高校学生计划”(免费服务器链接):https://developer.aliyun.com/plan/grow-up?spm=5176.227096.J_2614917780.2.31092604UBwyrY

image-20201007232508511

1、环境搭建

  1. 修改密码

    image-20201006194123072

    image-20201006194139587

    按照要求重置好密码之后重启即可

  2. 开放实例安全组

    image-20201006194224220

    为了方便安装,在这里开放8888端口(宝塔面板)

    image-20201006194328759

    第一次可以直接点击快速添加,添加上基本的开发端口

    image-20201006194436996

  3. 使用Xshell进行远程连接

    image-20201006194730788

    完成之后点击连接,输入用户名(默认root),然后输入刚才重置的密码即可

    image-20201006194845809

  4. 开启宝塔面板,输入如下指令

    yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

    然后根据出现的网址以及账号密码进行登录即可

    image-20201006195839337

  5. 点击软件商店可以手动安装各种软件

    image-20201006195934089

安装JDK以及配置java环境(不用于开发java可以跳过这一步)

  1. rpm下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html

  2. 创建用户目录

    cd /usr
    mkdir xiaojiang
    cd xiaojiang
  3. 将安装包上传到用户目录下

    image-20201006200415168

  4. 等待上传完成,执行下列指令

    # 安装java rpm
    [root@kuangshen kuangshen]# rpm -ivh jdk-8u221-linux-x64.rpm
    
    # 安装完成后配置环境变量 文件:/etc/profile
    [root@kuangshen kuangshen]#vim /etc/profile 
    
    JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
    CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
    PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
    export PATH CLASSPATH JAVA_HOME
    # 然后按esc 然后保存退出(按 :wq回车)
    
    # 让新增的环境变量生效!
    source /etc/profile
    
    # 测试 java -version
    [root@kuangshen java]# java -version
    java version "1.8.0_221"
    Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

    安装配置好jdk之后就可以直接运行打包成jar包的项目!

至此,服务器的基本配置就可以了,接下来可以进行自主开发了!

2、搭建饥荒专用服务器

参考网址1:https://blog.csdn.net/szhiy/article/details/79996017

参考网址2:https://blog.csdn.net/zhang41228/article/details/103106298?utm_medium=distribute.pc_relevant.none-task-blog-title-1&spm=1001.2101.3001.4242

2.1、解决环境依赖

安装必要的库文件(安装不成功也没关系)

yum -y install glibc.i686 libstdc++.i686 libcurl4-gnutls-dev.i686 libcurl.i686

2.2、安装 SteamCMD

在Xshell中执行如下指令

# 创建文件夹
mkdir ~/steamcmd

#下载 SteamCMD 安装文件
wget -P ~/steamcmd https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

# 解压压缩包
cd ~/steamcmd
tar -xvzf ~/steamcmd/steamcmd_linux.tar.gz

2.3、安装饥荒服务端

在Xshell中执行如下指令

# 启动 steamcmd,需要一点时间
./steamcmd.sh

# 使用公共账户登录 Steam
login anonymous

# 指定游戏文件的安装目录
force_install_dir ../dontstarvetogether_dedicated_server

# 安装饥荒服务端
app_update 343050 validate

# 安装完成后,使用以下命令退出 Steam 客户端
quit

成功安装所出现的标志:

Success! App '343050' fully installed.

如果在安装过程中出现了:

Error! App '232250' XXXXX...

则是先执行 quit 退出 Steam 程序,再重复以上安装步骤

解决一个 lib 缺失的问题:

cd ~/dontstarvetogether_dedicated_server/bin/lib32

ln -s /usr/lib/libcurl.so.4 libcurl-gnutls.so.4

2.4、配置饥荒的服务端

  1. 打开自己电脑的饥荒游戏(如果服务器性能不好不建议开启洞穴),点击创建游戏

    image-20201007013446183

  2. 点击生成世界,等到选择人物的界面的时候进行退出即可

  3. 进入刚创建的游戏目录

    image-20201007013625787

    image-20201007013704154

  4. 配置目录信息

    进入Steam用户界面

    可以如下通过游戏进入,也可以直接访问网址:https://accounts.klei.com/account/info

    image-20201007014059953

    这个就是用户的ID信息

    image-20201007014210900

    创建一个服务器获取Token

    进入服务器界面

    image-20201007014308757

    生成服务器

    image-20201007014426048

    复制Token!

    image-20201007014504294

    修改游戏文件

    image-20201007014739823

  5. 上传游戏文件

    创建文件路径

    # 在Xshell中执行
    mkdir -p ~/.klei/DoNotStarveTogether/MyDediServer

    上传文件

    使用Xftp连接服务器

    image-20201007015248117

    左边进入本地游戏文件目录,右边进入/root/.klei/DoNotStarveTogether/MyDediServer目录,然后将所有的游戏文件上传过去即可

    image-20201007013932333

2.5、添加模组

  1. 查看本地模组文件

    image-20201007020438847

    image-20201007020506464

  2. 上传模组,上传到服务器目录/root/dontstarvetogether_dedicated_server/mods(需要将服务器中原有的文件全部删除之后再上传)

    image-20201007020639865

    耐心等待所有文件上传完毕即可!

2.6、启动游戏

依次运行如下指令

# 创建脚本文件
cd ~ && touch startDST.sh

# 编写脚本内容
vim startDST.sh

# 然后按 i 粘贴上如下内容
#!/bin/bash

steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/dontstarvetogether_dedicated_server"
cluster_name="MyDediServer"
dontstarve_dir="$HOME/.klei/DoNotStarveTogether"

function fail()
{ 
        echo Error: "$@" >&2
        exit 1
} 

function check_for_file()
{ 
    if [ ! -e "$1" ]; then
            fail "Missing file: $1"
    fi
} 

cd "$steamcmd_dir" || fail "Missing $steamcmd_dir directory!"

check_for_file "steamcmd.sh"
check_for_file "$dontstarve_dir/$cluster_name/cluster.ini"
check_for_file "$dontstarve_dir/$cluster_name/cluster_token.txt"
check_for_file "$dontstarve_dir/$cluster_name/Master/server.ini"
check_for_file "$dontstarve_dir/$cluster_name/Caves/server.ini"


check_for_file "$install_dir/bin"

cd "$install_dir/bin" || fail 

run_shared=(./dontstarve_dedicated_server_nullrenderer)
run_shared+=(-console)
run_shared+=(-cluster "$cluster_name")
run_shared+=(-monitor_parent_process $$)

"${ run_shared[@]} " -shard Caves  | sed 's/^/Caves:  /' &
"${ run_shared[@]} " -shard Master | sed 's/^/Master: /'

完成之后按Esc然后输入:wq保存退出

给启动脚本添加权限:

chmod u+x ./startDST.sh

启动游戏

# 方法一:输入如下指令即可开启服务端游戏,simp pause就代表启动成功
./startDST.sh    # 据说按ctrl + A 然后按ctrl + D 就可以进行后台运行了

# 方法二:直接让服务在后台运行,看不到运行结果
nohup ./startDST.sh &    # 执行之后需要等待一段时间才可以在游戏中看到服务器

# 查看是否后台运行成功
netstat -nlp |grep :10999
netstat -nlp |grep :10998

10999为主服务器的端口,10998为洞穴的端口,如果两个都显示值,则表明启动成功

image-20201007125122877

如果你要关闭服务器,直接kill 对应的端口号就行了

# 注意修改为对应进程的端口号
kill -9 11840

kill -9 11838

至此就可以随时在游戏中查看到自己的专用服务器了!本次使用的是2核4G的服务器,四人运行测试毫无压力!