Re: [問題] 關於在ubuntu架設MUD的問題
看板mud (網路地下城/文字遊戲)作者WalkingIce ( 殺手哥吉拉 13)時間1年前 (2023/12/20 23:58)推噓3(3推 0噓 2→)留言5則, 5人參與討論串4/4 (看更多)
※ 引述《dsnsid (大顆壽司)》之銘言:
: 我爬了一些文,也google過,但找不到問題的解答。
: 因此上來請問各位,希望能幫助我解決這個問題。
: 我在github 下載了ES2的mudlib。
: https://github.com/taedlar/es2_mudlib
: 然後使用他推薦的neolith作為我的LPmud drivers。
: https://github.com/taedlar/neolith
: 我照著檔案內install的指引。
: 在我新安裝的ubuntu 版本22.04.3 LTS 裡面
: $ sudo apt install build-essential
: $ sudo apt install libtool
: $ sudo apt install gettext
: $ sudo apt install bison
: 到這邊都沒有問題。
: 接下來,在build的時候,一樣跟著說明操作。
: $ ./bootstrap
: $ ./configure
: $ make
: 但沒有在他所說的資料夾內(src)找到 名為neolith的執行檔。
: 於是我試著把它建立在別的資料夾,照著他的指示。
: $ ./configure --prefix=/home/mud/local --disable-shared
: $ make install
: 雖然看到執行檔,但是沒有辦法執行。
: 直接key入neolith 也說沒有這個指令。
: 真的找不到解答,所以上來請益,希望可以幫幫我解決這個問題。
: 謝謝看到這裡的各位。
我剛剛試著在 docker 裡面編譯,有看到
東 方 故 事 Ⅱ
天 朝 帝 國
應該是有成功編譯,在這邊記錄一下我的作法
因為我現在手邊的電腦是用 Mac,所以我是抓下 debian 的 docker image
原則上應該跟用 ubuntu 沒什麼差別
1. Clone source code
我都假設在 /tmp 底下做事,你可以換到其他目錄
$ mkdir /tmp/mud
$ cd /tmp/mud
$ git clone https://github.com/taedlar/neolith.git
$ git clone https://github.com/taedlar/es2_mudlib.git
2. Prepare docker container
如果是用 Ubuntu 的人,可以直接跳過這段
# 抓下 debian image
$ docker pull debian
# 用 debian image 跑起一個 container,並且把本機的 4444 連到 4000
# 因為接下來在 container 裡面要把 mud 跑在 4000 port
# 把這個 container 命名為 es2
$ docker run -dit --name es2 -p 4444:4000 debian
# 把剛剛 clone 的原始碼放進 docker 裡面
$ docker exec es2 mkdir -p /tmp/mud
$ docker cp neolith es2:/tmp/mud
$ docker cp es2_mudlib es2:/tmp/mud
# 進入那個 docker container,並且移動到工作目錄 /tmp/mud
$ docker exec -u 0 -it es2 /bin/bash
$ cd /tmp/mud
到這邊應該已經開始準備編譯了
3. Start compiling
# 用 debian/ubuntu 系統的人,應該用 aptitude 安裝就可以了
$ sudo aptitude install build-essential libtool gettext bison
# 用 docker 的人,請先更新再安裝
# 因為之前進入 container 時已指定 uid 為 0,所以已經是 root 權限
$ apt-get update
$ apt-get install build-essential libtool gettext bison
# 先編譯 driver
$ cd neolith
$ ./bootstrap
# 用 prefix 決定接下來編譯完之後要把東西放在那裡
$ ./configure --prefix=/tmp/mud/driver
$ make
$ make install # 一切順利的話,東西就在 /tmp/mud/driver 底下
# 移動到 es2_mudlib 修改 conf 檔
$ cd ../es2_mudlib
$ cp neolith.conf my.conf
編輯 my.conf,修改 MudlibDir 這一行,指定我們 clone 下來的路徑
MudlibDir /tmp/mud/es2_mudlib/mudlib
# 用 docker 的人,可以先在本機上編輯完之後再 copy 過去
$ docker cp my.conf es2:/tmp/mud/es2_mudlib/
4. Run
# 剛剛把東西安裝到 /tmp/mud/driver 底下
# 現在就用剛剛安裝的執行檔來讀入 my.conf
$ /tmp/mud/driver/bin/neolith -f my.conf
# 本機是 Debian/Ubuntu 的人,應該連上預設的 4000 port 即可
$ telnet localhost 4000
# 像我一樣用 docker 的人,則是連上本機的 4444
# 讓 docker 把你 forword 到 container 裡面的 4000
$ telnet localhost 4444
雖然有跑起來,希望上面的手打指令沒有 typo
如果我有寫錯什麼麻煩請提醒我,讓我修改
我盡量把每個能客製化的參數都用不同的路徑
希望這樣能讓你比較好理解
--
有一天小明跟朋友打牌,有張牌不小心掉進水裡。此時女神出現了
女神:「你掉的是這張紅中,還是這張白板?」
小明:「都不是,我掉的是青發。快還我吧大嬸,我缺那張就聽牌了」
女神:「.................(不爽)」
「你真是誠實的好孩子,紅中跟白板都送你吧」
於是小明就相公了。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.210.243 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/mud/M.1703087890.A.550.html
※ 編輯: WalkingIce (220.133.210.243 臺灣), 12/21/2023 00:00:29
推
12/21 08:41,
1年前
, 1F
12/21 08:41, 1F
→
12/21 20:09,
1年前
, 2F
12/21 20:09, 2F
→
12/26 13:42,
1年前
, 3F
12/26 13:42, 3F
推
12/30 20:47,
1年前
, 4F
12/30 20:47, 4F
推
01/02 11:37,
2年前
, 5F
01/02 11:37, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
mud 近期熱門文章
11
19
PTT遊戲區 即時熱門文章
-8
17