By Arnon Puitrakul - 22 พฤษภาคม 2015
ตอนนี้ก็ปิดเทอมแล้ว เกมก็ต้องมา แฮร่~~ วางแผนกันตั้งแต่ก่อนปิดเทอมแล้วว่า จะเปิดเซิพ Minecraft เล่นกัน!!!! ด้วย Digital Ocean เพราะเดือนนึงมันตก 5 USD เองถ้าเล่นกัน 5 คนเดือนนึงก็ตกคนล่ะ 1 USD หรือประมาณ 3x บาทเท่านั้นเอง มาดูกันเลยว่าทำยังไง
ก่อนอื่น ก็ต้องไป Register สร้าง Account ของ Digital Ocean กันก่อน จากนั้นก็ให้เราสร้าง droplet ที่ลงเฉพาะ Ubuntu อย่างเดียวมา เราจะใช้ Spec ถูกสุดเลยนั่นคือ Ram 512 MB, CPU 1 Core ให้เลือก Install เฉพาะ Ubuntu เท่านั้นนะ!! จากนั้นรอสัก 30 วินาที เราก็จะได้ Droplet มาแล้ว
ให้เรา SSH เข้าไปใน Droplet ที่เราสร้างและ Install Java ลงไป เพราะตัวเกม Minecraft จำเป็นต้องใช้ JRE (Java Runtime Environment) ให้การรัน และต้องเอา Java ที่ไม่มี GUI ด้วยก็ดี เพราะตัว Droplet เราเป็นแค่ Command Line ปกติเท่านั้นเอง โดยการพิมพ์ตามด้านล่างนี้เพื่อ Install
apt-get install default-jre-headless
Note : jre-headless คือ Option ในการ Install JRE แบบไม่เอา GUI มาด้วย อีกอย่างนึง คำสั่งที่จะใช้ในนี้ทั้งหมดอาจจะต้องรันผ่าน sudo เท่านั้นถึงจะทำได้นะจ๊ะ
ตอนนี้เราจะมาจัดการกับ Permission ต่างๆใน Folder ที่เรากำลังจะสร้าง เพื่อเก็บตัวเกมกัน
mkdir /srv/minecraft
addgroup --system minecraft
adduser --system --no-create-home --home /srv/minecraft --ingroup minecraft minecraft
มันคือการสร้าง folder เพื่อเก็บตัวเกมทั้งหมดและ Set Home Location ให้ไปที่ Folder ของตัวเกมเพื่อความสะดวกต่อไป เราสามารถเปลี่ยนชื่อ Folder ที่เราสร้างได้นะ ไม่จำเป็นต้องเป็นเหมือนกันก็ได้นะ
เราจะต้อง cd เข้าไปที่ Directory ที่เราพึ่งสร้างไปเมื่อกี้กันก่อน
cd /srv/minecraft
ถัดมาเราจะโหลดตัวเกมกัน โดยใช้ wget แล้วชี้ไปที่ Server ของ Minecraft ณ วันที่เขียนคือ 22 May 2015 เวอร์ชั่นล่าสุดคือ 1.8.4 นะ ถ้ามีเวอร์ชั่นที่ใหม่กว่าก็ใช้เวอร์ชั่นใหม่ดีกว่า
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.4/minecraft_server.1.8.4.jar -O minecraft_server.jar
ตอนนี้เราก็มีไฟล์ตัว Server เรียบร้อย ให้เรารันตัวไฟล์ก่อน เพื่อ Generate ไฟล์ที่เกี่ยวข้องต่างๆโดยการพิมพ์
java -Xms32M -Xmx450M -jar minecraft_server.jar nogui
ในคำสั่งเรากำหนดให้มันจอง Memory ขั้นต่ำที่ 32 MB และสูงสุดที่ 450 MB ค่า 2 ค่านี้เราควรที่จะเซ็ตให้พอดีกันตามจำนวน Memory ที่เรามี เช่นตอนนี้ผมมี Memory อยู่ 512 MB เซ็ต Max ไว้ที่ 450 ก็กำลังดีและ เพื่อ OS มันรันด้วยนิดหน่อย หลังจากที่เรารันครั้งแรก ตัวระบบมันจะ Generate ไฟล์ออกมา ตอนนี้ให้เราสนใจที่ 3 ไฟล์นี้ก่อน นั่นคือ banned-players.json
, banned-ips.json
, ops.json
, และ whitelist.json
ไฟล์พวกนี้ไว้เก็บ ID ของ Player ที่เข้ามาเล่นรวมถึงสามารถแบน IP ได้
ถัดไป เราจะมาเซ็ต op (หรือ Operator เรียกอีกอย่างคือ Admin นั่นเอง) ก็ไม่ยากให้พิมพ์
op yournamehere
เท่านี้เราก็จะกลายร่างเป็น Admin เต็มตัว สามารถใช้ Command ได้หมดเลย!!
ตอนนี้เราก็สร้างตัว Server กับ Config พื้นฐานเรียบร้อยแล้ว แต่ๆๆ ทีนี้ถ้าเวลาเราจะ Start Server ทีก็ต้องพิมพ์ Command ยาวๆก็ไม่น่าจะดีเท่าไหร่ เราจะมาเก็บมันเป็น Process กัน ก่อนอื่นให้สร้างไฟล์ minecraft.conf ขึ้นมาก่อน
vi /etc/init/minecraft.conf
แล้วใส่ Script ตามนี้เลย
start on runlevel [2345]
stop on runlevel [^2345]
console log
chdir /srv/minecraft
setuid minecraft
setgid minecraft
respawn
respawn limit 20 5
exec /usr/bin/java -Xms32M -Xmx450M -jar minecraft_server.jar nogui
จากนั้นเราจะมาสร้าง symlink โดยการรัน
ln -s /etc/init/minecraft.conf /etc/init.d/minecraft
เท่านี้เวลาเราจะ Start Server เราก็แค่พิมพ์ service minecraft start
เพื่อรัน Server หรือ service minecraft stop
เพื่อทำการปิด Server ตัวเกม
หลังจากที่เราสร้าง Server พร้อมกับ Config และรวบคำสั่งเป็น Script แล้วก็ให้ Start Server กันเลย
service minecraft start
กลับไปที่ตัวเกมของเรา ให้เราเข้าไปที่ Multiplayer แล้วก็เลือก Direct Connect แล้วพิมพ์ IP Address ของเครื่อง Server ลงไป (ถ้าไม่รู้ให้เข้าไปดูที่หน้า Droplet มันจะมีเขียนอยู่) แล้วตามด้วย colon และ port 25565 เพราะฉะนั้นก็จะเป็น
ipaddress:25565
จากนั้นก็ ยินดีต้อนรับเข้าสู่โลก 8 bits Square Block กันได้เลย!!! วู้~~~ ปิดเทอมของข้าจะอยู่กับ Minecraft แล้ววู้~~~
เมื่อหลายวันก่อน เราไปทำงานแล้วใช้ Terminal แบบปีศาจมาก ๆ จนเพื่อนถามว่า เราทำยังไงถึงสามารถสลับ Terminal Session ไปมาได้แบบบ้าคลั่งขนาดนั้น เบื้องหลังของผมน่ะเหรอกัปตัน ผมใช้ tmux ยังไงละ วันนี้เราจะมาแชร์ให้อ่านกันว่า มันเอามาใช้งานจริงได้อย่างไร เป็น Beginner Guide สำหรับคนที่อยากลองละกัน...
Firewall ถือว่าเป็นเครื่องมือในการป้องกันภัยขั้นพื้นฐานที่ปัจจุบันใคร ๆ ก็ติดตั้งใช้งานกันอยู่แล้ว แต่หากเรากำลังใช้ Ubuntu อยู่ จริง ๆ แล้วเขามี Firewall มาให้เราใช้งานได้เลยนะ มันชื่อว่า UFW วันนี้เราจะมาทำความรู้จัก และทดลองตั้ง Rule สำหรับการดักจับการเชื่อมต่อที่ไม่เกี่ยวข้องกันดีกว่า...
Obsidian เป็นโปรแกรมสำหรับการจด Note ที่เรียกว่า สารพัดประโยชน์มาก ๆ เราสามารถเอามาทำอะไรได้เยอะมาก ๆ หนึ่งในสิ่งที่เราเอามาทำคือ นำมาใช้เป็นระบบสำหรับการจัดการ Todo List ในแต่ละวันของเรา ทำอะไรบ้าง วันนี้เราจะมาเล่าให้อ่านกันว่า เราจัดการะบบอย่างไร...
อะ อะจ๊ะเอ๋ตัวเอง เป็นยังไงบ้างละ เมื่อหลายเดือนก่อน เราไปเล่าเรื่องกันขำ ๆ ว่า ๆ จริง ๆ แล้วพวก Loop ที่เราใช้เขียนโปรแกรมกันอยู่ มันไม่มีอยู่จริง สิ่งที่เราใช้งานกันมันพยายาม Abstract บางอย่างออกไป วันนี้เราจะมาถอดการทำงานของ Loop จริง ๆ กันว่า มันทำงานอย่างไรกันแน่ ผ่านภาษา Assembly...