回覆列表
  • 1 # 萬歲遊戲解說

    安裝環境庫

    安裝steam

    手動建立遊戲(饑荒)資料夾

    配置遊戲設定檔案,伺服器可以運行了!

    配置mod檔案

    1.先安裝環境庫

    centos:

    yum install glibc.i686 libstdc++.i686 libcurl.i686 –y

    1

    ubuntu/Debian:

    sudo apt-get install libstdc++6:i386 libgcc1:i386 libcurl4-gnutls-dev:i386 lib32gcc1

    1

    大機率會成功,如果失敗的話,可以參考下方官方給出的解決方法,注意自己的os位數:

    sudo dpkg --add-architecture i386 # If running a 64bit OS

    sudo apt-get update

    sudo apt-get install lib32gcc1 # If running a 64bit OS

    sudo apt-get install lib32stdc++6 # If running a 64bit OS

    sudo apt-get install libgcc1 # If running a 32bit OS

    sudo apt-get install libcurl4-gnutls-dev:i386

    1

    2

    3

    4

    5

    6

    補充:

    在安裝 sudo apt-get install libcurl4-gnutls-dev:i386時候

    可能會出現Unable to locate package libcurl4-gnutls-dev ,應該是配置源未被掃描

    解決方案:

    sudo dpkg --add-architecture i386

    sudo apt-get update

    sudo apt-get install libcurl4-gnutls-dev:i386

    1

    2

    3

    後,再次執行安裝

    sudo apt-get install libcurl4-gnutls-dev:i386

    1

    2.下載/安裝steamcad

    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

    tar -zxvf steamcmd_linux.tar.gz

    1

    2

    希望增加一個user的可以自己useradd steam,反正我是無所謂…

    執行steamcad

    ./steamcmd.sh

    1

    可能出現 不存在目錄/root/linux32/steamcmd: No such file or directory

    steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

    1

    原因是steam為32位,建議更新apt-get後安裝32位的依賴:

    apt-get update

    sudo apt-get install lib32stdc++6

    apt-get install lib32gcc1

    1

    2

    3

    可進入steam命令模式

    >steam

    1

    匿名登陸(不需要很傻的登陸自己的steam賬號)

    login anonymous

    1

    指定安裝資料夾 DSTserver

    force_install_dir DSTserver

    1

    安裝遊戲

    app_update 343050 validate

    1

    安裝成功後輸入quit 或 ctrl + c退出

    3.建立饑荒預設資料夾

    mkdir -p ~/.klei/DoNotStarveTogether/Documents

    cd .klei/DoNotStarveTogether/Documents/

    1

    2

    然後去遊戲介面獲取cluster_token 和 UserID,並填入adminlist.txt和cluster_token.txt 檔案中

    UserID:

    在這裡插入圖片描述

    cluster_token:

    在這裡插入圖片描述

    在這裡插入圖片描述

    最後將獲得的2串值分別寫入2個檔案裡

    echo 你的UserID > adminlist.txt

    echo 你的Token > cluster_token.txt

    1

    2

    3

    4

    接著配置伺服器檔案cluster.ini

    可以修改伺服器描述、伺服器名稱、伺服器密碼

    vim cluster.ini

    1

    ·

    [GAMEPLAY]

    max_players = 6

    pvp = false

    game_mode = endless

    pause_when_empty = true

    vote_kick_enabled = true

    [NETWORK]

    cluster_description = 伺服器描述

    cluster_name = 伺服器名稱

    cluster_password = 伺服器密碼

    cluster_intention = cooperative

    [MISC]

    max_snapshots = 6

    console_enabled = true

    [SHARD]

    shard_enabled = true

    bind_ip = 127.0.0.1

    master_ip = 127.0.0.1

    master_port = 10889

    cluster_key = supersecretkey

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    再建立地表檔案Master

    mkdir Master

    cd Master

    1

    2

    建立server.ini和worldgenoverride.lua

    vim server.ini

    1

    ·

    [NETWORK]

    server_port = 11000

    [SHARD]

    is_master = true

    [STEAM]

    master_server_port = 27018

    authentication_port = 8768

    [ACCOUNT]

    encode_user_path = true

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    vim worldgenoverride.lua

    1

    ·

    return {

    override_enabled = true,

    preset = "SURVIVAL_TOGETHER",

    }

    1

    2

    3

    4

    同理,在Documents下配置地下世界Caves,這裡直接複製命令

    cd ..

    cp –r Master Caves

    1

    2

    但是其中的內容並不一樣,需要自己修改,建議用vim的清空命令dG

    vim server.ini

    1

    ·

    [NETWORK]

    server_port = 11001

    [SHARD]

    is_master = false

    name = Caves

    id = 1811570792

    [STEAM]

    master_server_port = 27019

    authentication_port = 8769

    [ACCOUNT]

    encode_user_path = true

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    ·

    vim worldgenoverride.lua

    1

    ·

    return {

    override_enabled = true,

    preset = "DST_CAVE",

    misc = {

    world_size = "huge"

    }

    }

    1

    2

    3

    4

    5

    6

    7

    進入主目錄,建立啟動指令碼

    cd ~

    1

    ·

    vim startDST.sh

    1

    ·

    #!/bin/bash

    steamcmd_dir="$HOME/steamcmd"

    install_dir="$HOME/DSTserver"

    cluster_name="Documents"

    cd "$install_dir/bin"

    run_shared=(./dontstarve_dedicated_server_nullrenderer)

    run_shared+=(-console)

    run_shared+=(-cluster "$cluster_name")

    run_shared+=(-monitor_parent_process $$)

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    給指令碼許可權

    chmod 777 startDST.sh

    1

    最後檢查一下環境

    ldd ~/DSTserver/bin/dontstarve_dedicated_server_nullrenderer

    1

    看看還有誰是not found,如果沒有基本就可以正常開啟伺服器了(下圖是失敗例)

    在這裡插入圖片描述

    最後執行伺服器,最好安裝個screen,方便檢視記憶體和效能,如果你Linux不熟就算了…

    screen -S dst #開啟,需要退出可以ctrl + a + d

    screen -r dst #恢復screen

    1

    2

    啟動伺服器

    ./startDST.sh

    1

    關閉的話ctrl + c 或者接shutdown

    我的aws因為沒有關閉伺服器被扣cpu積分了,真的要玩的時候卡死

    谷歌更慘,直接被人拿作dos攻擊被封禁…也許是饑荒伺服器也是不乾淨?

    4.關於mod的安裝

    需要

    ①修改安裝目錄下的dedicated_server_mods_setup.lua

    ②Master下的modoverrides.lua

    (如開啟了地下世界則還有Caves下的,我沒有開啟)

    ①編輯遊戲安裝目錄DSTserver下的dedicated_server_mods_setup.lua

    mod寫入的格式是:(對於同一個mod來說一般要輸入2行)

    ServerModSetup("mod代號,在steam的mod頁面可以檢視") --用於安裝mod

    ServerModCollectionSetup("mod代號") --用於更新mod

    1

    2

    開始編輯mod檔案!

    vim DSTserver/mods/dedicated_server_mods_setup.lua

  • 中秋節和大豐收的關聯?
  • 和平精英最強四指職業玩家?是誰?