วิธีติดตั้งเครื่องมือสร้างมอด Stardew Valley บน PC
ขั้นตอนติดตั้ง SMAPI, .NET SDK และ IDE สำหรับสร้างมอด Stardew Valley บน Windows, macOS และ Linux พร้อมวิธีตรวจว่าเครื่องพร้อมใช้งาน และแก้ปัญหาที่พบบ่อย
เขียนโดย Pokpong Limpaphan · อัปเดต
สถานะการตรวจสอบ: ตรวจกับเอกสารทางการแล้ว
เนื้อหาตรวจสอบกับเอกสารทางการแล้ว แต่ยังไม่ได้ทดสอบในเกมจริงทุกขั้นตอน (ตรวจล่าสุด )
ตรวจกับ: SMAPI 4.5.2 release notes, Pathoschild.Stardew.ModBuildConfig 4.4.0 documentation
ขั้นตอนติดตั้งอ้างอิงเอกสารทางการ หน้าจอของตัวติดตั้งอาจต่างไปตามเวอร์ชัน
สิ่งที่จะได้เรียนรู้
- ติดตั้ง SMAPI และเปิดเกมผ่าน SMAPI ได้
- ติดตั้ง .NET SDK และ IDE สำหรับเขียนมอด C#
- ตรวจว่าเครื่องพร้อมสำหรับ build มอดด้วยคำสั่ง dotnet
สิ่งที่ต้องมีก่อนเริ่ม
- Stardew Valley 1.6.14 ขึ้นไปบน PC
- สิทธิ์ติดตั้งโปรแกรมบนเครื่อง
สารบัญ
- ส่วนที่ 1: ติดตั้ง SMAPI
- 1. ดาวน์โหลด SMAPI
- 2. รันตัวติดตั้ง
- 3. ตั้งค่าให้ Steam เปิดเกมผ่าน SMAPI
- 4. ตรวจว่า SMAPI ทำงาน
- 5. รู้จักโฟลเดอร์สำคัญ
- ส่วนที่ 2: เครื่องมือสำหรับมอด C#
- 1. ติดตั้ง .NET SDK
- 2. เลือก IDE
- 3. ทดสอบ build โปรเจกต์ตัวอย่าง
- แก้ปัญหาที่พบบ่อย
- build แล้วขึ้นว่าหาโฟลเดอร์เกมไม่เจอ
- คำสั่ง dotnet ไม่รู้จัก
- เปิดเกมแล้วไม่มีหน้าต่าง SMAPI
- SMAPI ปิดตัวเองทันที
- ขั้นต่อไป
บทนี้พาติดตั้งเครื่องมือทั้งหมดที่ใช้สร้างมอด ถ้าต้องการแค่ลิงก์ดาวน์โหลดทั้งหมดในหน้าเดียว ไปที่ ดาวน์โหลดเครื่องมือ เนื้อหาแบ่งเป็นสองส่วน
- ส่วนที่ 1 สำหรับทุกคน: ติดตั้ง SMAPI และหาโฟลเดอร์สำคัญ
- ส่วนที่ 2 สำหรับมอด C#: ติดตั้ง .NET SDK และ IDE
ถ้าตั้งใจทำแค่ content pack ของ Content Patcher ทำส่วนที่ 1 แล้วติดตั้ง Visual Studio Code ไว้แก้ไฟล์ JSON ก็เพียงพอ
flowchart LR
G["Stardew Valley"] --> S["SMAPI"] --> T{"ทำมอดแบบไหน?"}
T -- content pack --> V["VS Code + Content Patcher"]
T -- มอด C# --> N[".NET SDK"] --> I["IDE: VS Code, Visual Studio หรือ Rider"] --> B["dotnet build"]
ส่วนที่ 1: ติดตั้ง SMAPI
1. ดาวน์โหลด SMAPI
ดาวน์โหลดจาก smapi.io ซึ่งเป็นเว็บไซต์ทางการเท่านั้น ไฟล์ที่ได้เป็น zip ให้แตกไฟล์ไว้ที่ใดก็ได้ (ไม่ต้องแตกไว้ในโฟลเดอร์เกม)
2. รันตัวติดตั้ง
ในโฟลเดอร์ที่แตกออกมาจะมีไฟล์ติดตั้งแยกตามระบบปฏิบัติการ
- Windows: ดับเบิลคลิก
install on Windows.bat - macOS: ดับเบิลคลิก
install on macOS.command - Linux / Steam Deck: รัน
install on Linux.sh
ตัวติดตั้งจะค้นหาโฟลเดอร์เกมให้เอง ถ้าเจอหลายที่จะถามให้เลือก จากนั้นเลือกติดตั้ง (install)
3. ตั้งค่าให้ Steam เปิดเกมผ่าน SMAPI
เมื่อติดตั้งเสร็จ ตัวติดตั้งจะแสดงวิธีตั้งค่า Steam ให้เปิดเกมผ่าน SMAPI โดยใส่ Launch Options ของเกม ให้ทำตามข้อความที่ตัวติดตั้งแสดง เพราะ path อาจต่างกันตามเครื่อง สำหรับ Windows รูปแบบที่ใช้กันคือ
"C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe" %command%
ถ้าติดตั้งเกมไว้ที่อื่น ให้เปลี่ยน path ให้ตรงกับตำแหน่งจริง ส่วน GOG หรือ Xbox app ให้ดูวิธีใน Player Guide ทางการ
4. ตรวจว่า SMAPI ทำงาน
เปิดเกม ถ้าสำเร็จจะมีหน้าต่าง console สีดำเปิดขึ้นมาพร้อมเกม และมีข้อความบรรทัดแรกประมาณนี้
[12:00:00 INFO SMAPI] SMAPI 4.5.2 with Stardew Valley 1.6.15 build 24356 on Microsoft Windows 11
เลขเวอร์ชันในเครื่องของคุณอาจไม่ตรงกับตัวอย่าง
5. รู้จักโฟลเดอร์สำคัญ
| โฟลเดอร์ | ตำแหน่งบน Windows (Steam) | ใช้ทำอะไร |
|---|---|---|
| เกม | C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley |
ไฟล์เกมและ SMAPI |
| Mods | ...\Stardew Valley\Mods |
ใส่มอดแต่ละตัวเป็นโฟลเดอร์ย่อย |
| Log | %appdata%\StardewValley\ErrorLogs |
ไฟล์ SMAPI-latest.txt |
| เซฟ | %appdata%\StardewValley\Saves |
ไฟล์เซฟของเกม |
บน macOS และ Linux โฟลเดอร์ log และเซฟอยู่ที่ ~/.config/StardewValley/ ส่วนโฟลเดอร์เกมดูได้จาก Steam โดยคลิกขวาที่เกม เลือก Manage แล้วเลือก Browse local files
ส่วนที่ 2: เครื่องมือสำหรับมอด C#
1. ติดตั้ง .NET SDK
SMAPI 4 และ Stardew Valley 1.6 ทำงานบน .NET 6 โปรเจกต์มอดจึงตั้ง TargetFramework เป็น net6.0
ให้ติดตั้ง .NET SDK เวอร์ชัน 6 ขึ้นไป จาก dotnet.microsoft.com/download SDK เวอร์ชันใหม่กว่า (เช่น .NET 8) build โปรเจกต์ที่ตั้งเป็น net6.0 ได้ แต่อาจขึ้นคำเตือน NETSDK1138 ว่า .NET 6 หมดระยะการสนับสนุนแล้ว คำเตือนนี้ไม่ทำให้ build ล้มเหลว และเป็นเรื่องปกติของโปรเจกต์มอด Stardew Valley
ตรวจว่าติดตั้งสำเร็จด้วยคำสั่งใน Terminal หรือ PowerShell
dotnet --list-sdks
ถ้าเห็นรายการ SDK อย่างน้อยหนึ่งรายการ แปลว่าพร้อมแล้ว
2. เลือก IDE
IDE (Integrated Development Environment) คือโปรแกรมสำหรับเขียนและ build โค้ด เลือกได้ตามสะดวก
- Visual Studio 2022 Community (Windows, ฟรีสำหรับบุคคล): ตอนติดตั้งให้เลือก workload .NET desktop development
- JetBrains Rider (Windows, macOS, Linux): ใช้งานส่วนตัวแบบไม่แสวงหากำไรได้ฟรีตามเงื่อนไขของ JetBrains
- Visual Studio Code + ส่วนขยาย C# Dev Kit: เบาและใช้ได้ทุกระบบ build ผ่านคำสั่ง
dotnet build
3. ทดสอบ build โปรเจกต์ตัวอย่าง
วิธีที่เร็วที่สุดคือสร้างโปรเจกต์ด้วย Mod Generator หรือดาวน์โหลด SMAPI C# Starter แล้วรัน
cd MyFirstMod
dotnet build
แพ็กเกจ Pathoschild.Stardew.ModBuildConfig ที่อยู่ในโปรเจกต์จะทำงานต่อไปนี้ให้อัตโนมัติ
- หาตำแหน่งเกมและอ้างอิง DLL ของเกมกับ SMAPI
- คัดลอกมอดที่ build แล้วไปไว้ในโฟลเดอร์
Mods - สร้างไฟล์ zip สำหรับแจกจ่ายไว้ในโฟลเดอร์
bin
ถ้า build ผ่าน ให้เปิดเกมผ่าน SMAPI แล้วดูว่ามีชื่อมอดของคุณในรายการ Loaded N mods
แก้ปัญหาที่พบบ่อย
build แล้วขึ้นว่าหาโฟลเดอร์เกมไม่เจอ
ModBuildConfig หาเกมจากตำแหน่งติดตั้งมาตรฐาน ถ้าติดตั้งไว้ที่อื่น ให้เพิ่ม GamePath ในไฟล์ .csproj
<PropertyGroup>
<GamePath>D:\Games\Stardew Valley</GamePath>
</PropertyGroup>
คำสั่ง dotnet ไม่รู้จัก
ปิดแล้วเปิด Terminal ใหม่หลังติดตั้ง SDK ถ้ายังไม่ได้ ให้ตรวจว่า SDK ถูกเพิ่มใน PATH หรือรีสตาร์ตเครื่องหนึ่งครั้ง
เปิดเกมแล้วไม่มีหน้าต่าง SMAPI
แปลว่าเกมไม่ได้เปิดผ่าน SMAPI ให้ตรวจ Launch Options ใน Steam อีกครั้ง หรือเปิด StardewModdingAPI.exe ในโฟลเดอร์เกมโดยตรง
SMAPI ปิดตัวเองทันที
เปิดไฟล์ SMAPI-latest.txt แล้วนำไปตรวจใน Log Analyzer หรืออ่านบท Debug ด้วย SMAPI log
ขั้นต่อไป
- ยังไม่เคยเขียน C#: อ่าน พื้นฐาน C# สำหรับมอด
- พร้อมเขียนโค้ดแล้ว: ไปที่ SMAPI Hello World
- อยากเริ่มแบบไม่เขียนโค้ด: ไปที่ Content Patcher
เอกสารอ้างอิง
- Player Guide - Getting Started (ติดตั้ง SMAPI)(เอกสารทางการ)
- Modder Guide - Get Started(เอกสารทางการ)
- ดาวน์โหลด .NET SDK (Microsoft)(เอกสารทางการ)
- ModBuildConfig package documentation(เอกสารทางการ)