ผู้เริ่มต้น30 นาทีบทที่ 2

วิธีติดตั้งเครื่องมือสร้างมอด 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 และหาโฟลเดอร์สำคัญ
  • ส่วนที่ 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

ขั้นต่อไป

เอกสารอ้างอิง

ค้นหาใน SVMT

กรองตามประเภท

พิมพ์คำที่ต้องการค้นหา (ภาษาไทยหรืออังกฤษ)