iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Modern Web

每日1%,你會累趴。系列 第 14

Day14 突如其來的Minecraft

  • 分享至 

  • xImage
  •  

通常有玩過線上遊戲的工程師都會有個小小的夢想,是自己能架個私服跟朋友們一起玩樂,前陣子因為疫情的緣故一群朋友都只能待在家玩電腦,於是就有個同學提出說要玩Minecraft,揪齊了7、8個人後大家都買了JAVA版的主程式,由一位同學使用了官方託管的Minecraft Realms Servers服務來當主機終於可以快快樂樂的玩遊戲啦。

當然一個月過後因為免費託管結束了,要嘛選擇一個月三百塊繼續託管,要嘛把地圖備份起來請另一個同學再開一個免費託管然後把地圖上傳,身為工程師的我不禁開始想,如果我的電腦幾乎都不關機的,效能也夠強,那是不能自己架設一個Server來用呢?

於是我在Minecraft Wiki找到了解法,裡面有最基本的一步一步下指令的做法,但讓我眼睛一亮的是居然有出Docker的做法,這不就讓我苦練數月的Docker可以派上用場了嗎?話不多說直接按照教學來做


此為官方的範例command

docker run -d -p 25565:25565 --name mc -e VERSION=1.7.9 -e EULA=TRUE itzg/minecraft-server

經過前幾天的教學已經知道此Container會運行在後台、會對外開一個25565的port供外部連線、container_name叫mc、專屬的環境參數VERSION可指定遊戲版本,我玩的是最新1.17.1版,EULA似乎是一個同意不作為營利用途的參數,最後是選擇的Image。

利用指令確定Container狀態

docker ps

確定STATUS為healthy時代表可以連線了,此時可以Mac用ifconfig,Windows可以用ipconfig來確認自己的IP位置,然後共用區域網路的裝置就可以用此IP進行連線了。
https://ithelp.ithome.com.tw/upload/images/20210914/20115048LViIuHeQ1k.jpg

https://ithelp.ithome.com.tw/upload/images/20210914/20115048w7i4GJ5Mkr.jpg

搭啷~這不就成功了嗎?真是簡單迅速又明瞭呢,當然身為一個伺服器管理者又怎麼會這樣就滿足了呢?

今天又要學新的指令了,進入這個Container

docker exec -it mc bash

此時會在data資料夾,這邊就可以處理

  1. IP BAN人,看誰不爽就BAN他
  2. Account BAN人,管他多會換IP直接BAN帳號
  3. logs裡面存放了Server大大小小發生的事情
  4. server.properties是Minecraft世界的參數,可以到Minecraft Wiki裡面看都有解釋各個參數的意義
  5. whitelist,有黑名單就有白名單,開啟此設定的話就只有在白名單內的人能連線
  6. world則存放了這個Minecraft世界的所有資訊,包括地圖、人物、道具、狀態等等,可以利用Volumes參數將此資料夾製作備份

當然還有更多的細節,例如Server的記憶體配置等等更深奧的東西可以研究,只要照著這四天的練習都做過一遍的話人人都可以是食神人人都可以自己開Minecraft私服的。

今天的離題之旅就倒此結束了,謝謝觀看的各位,請記得按讚分享開啟小鈴鐺,你的支持會讓按讚數+1。


上一篇
Day13 Docker compose
下一篇
Day15 Composer & Laravel - install
系列文
每日1%,你會累趴。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言