ผู้ไม่มีส่วนเกี่ยวข้อง

หน้าหลัก เอกสารอ้างอิงและความช่วยเหลือ
เอกสาร Steamworks
คลาวด์บน Steam

ภาพรวมคลาวด์บน Steam

คลาวด์บน Steam คือ ระบบจัดเก็บไฟล์ทางไกลที่ใช้งานง่ายและโปร่งใสสำหรับเกมของคุณ โดยไฟล์ที่ได้ระบุเอาไว้ในการกำหนดค่า Auto-Cloud หรือได้เขียนลงไปในดิสก์ (ถูกสร้าง ดัดแปลง ลบ ฯลฯ) ที่ใช้ Cloud API นั้นจะถูกคัดสำเนาไว้ในเซิร์ฟเวอร์ Steam โดยอัตโนมัติหลังจากออกจากเกม

เวลาที่ผู้ใช้เปลี่ยนเครื่องคอมพิวเตอร์ ก่อนที่จะเริ่มเปิดใช้งานเกม ไฟล์ต่าง ๆ ก็จะถูกดาวน์โหลดโดยอัตโนมัติไปยังเครื่องคอมพิวเตอร์เครื่องใหม่ จากนั้นเกมก็จะสามารถเข้าใช้งานไฟล์ดังกล่าวได้ด้วยการอ่านไฟล์เหล่านั้นผ่านทาง Cloud API หรืออ่านไฟล์เหล่านั้นโดยตรงจากดิสก์เหมือนเดิมก็ได้ ขอแนะนำให้หลีกเลี่ยงการกำหนดค่าที่มีความเป็นเฉพาะเจาะจงต่อเครื่องใช้งาน เช่น การตั้งค่าวิดีโอ เป็นต้น

ไคลเอนต์ Steam จะทำหน้าที่ตรวจสอบยืนยันว่าได้ซิงค์ไฟล์ได้อย่างเรียบร้อยกับเครื่องคอมพิวเตอร์ทุกเครื่องที่ผู้ใช้อาจจะกำลังใช้งานอยู่

ผู้ใช้จะสามารถปิดการใช้งานระบบการซิงค์ของคลาวด์โดยรวมได้ที่การตั้งค่า Steam ที่อยู่ใต้หมวดหมู่คลาวด์ แล้วนำเครื่องหมายออกจากตัวเลือก "เปิดการใช้งานคลาวด์บน Steam ให้แก่แอปพลิเคชันที่รองรับ"

และผู้ใช้ยังสามารถปิดการใช้งานระบบการซิงค์ของคลาวด์ได้เป็นรายเกมได้จากในคุณสมบัติของแต่ละเกม

Spacewar_Cloud_Properties.png

การตั้งค่าครั้งแรก

ในการตั้งค่าคลาวด์บน Steam นั้นคุณจะต้องตั้งค่าตัวเลือก โควต้าจำนวนไบต์ต่อผู้ใช้หนึ่งราย และ จำนวนไฟล์ที่อนุญาตต่อผู้ใช้หนึ่งราย บนหน้า การตั้งค่าคลาวด์บน Steam ในแผงควบคุมผู้ดูแลแอป Steamworks

จะมีการบังคับใช้โควต้านี้กับเกมที่เปิดการใช้งานคลาวด์ ในลักษณะการใช้งานต่อเกมต่อผู้ใช้เป็นหลัก และขอแนะนำให้ตั้งค่าให้มีปริมาณที่สมเหตุสมผลต่อเกมของคุณ

หมายเหตุ: กรุณาอย่าลืมคลิกที่ปุ่มบันทึกที่อยู่ทางด้านล่างของหน้า และกรุณาอย่าลืมเผยแพร่การตั้งค่าได้รับการอัปเดตของคุณด้วย เมื่อเผยแพร่เรียบร้อยแล้ว ใครก็ตามที่ครอบครองเกมของคุณก็จะสามารถมองเห็นไอคอนคลาวด์อยู่ในไคลเอนต์ Steam ได้

หากเกมของคุณได้รับการวางจำหน่ายออกสู่สาธารณะแล้ว ถ้าเป็นเช่นนั้น คุณก็จะสามารถทำเครื่องหมายในช่องที่มีชื่อว่า เปิดการใช้งานการรองรับระบบคลาวด์สำหรับผู้พัฒนาซอฟต์แวร์เท่านั้น หากมีการเปิดการใช้งานโหมดเฉพาะผู้พัฒนาเท่านั้น ถ้าเป็นเช่นนั้นก็จะมีแต่บัญชี Steam ที่มีใบอนุญาตสิทธิ์ "Developer Comp" ของเกมของคุณเท่านั้นที่จะเห็นไอคอนคลาวด์และใช้งานคลาวด์บน Steam ได้ การกระทำเช่นนี้จะมีประโยชน์มากในการทดสอบการผสานระบบคลาวด์บน Steam เข้ากับเกมของคุณได้อย่างปลอดภัย โดยไม่ส่งผลกระทบต่อประสบการณ์การใช้งานของผู้ใช้ทั่วไป อย่างไรก็ตามนี่จะไม่มีผลอะไรต่อเกมที่ยังไม่ได้วางจำหน่ายเพราะว่ายังไม่มีใครเป็นเจ้าของเกมดังกล่าวนั้นในตอนนี้ แล้วก็จะไม่มีใครสามารถมองเห็นหรือเข้าใช้งานพื้นที่จัดเก็บคลาวด์ของไอดีแอปดังกล่าวได้

คุณจะสามารถแบ่งปันพื้นที่จัดเก็บคลาวด์ให้กับไอดีแอปได้ 2 รายการ ด้วยการกรอกรายละเอียดลงในช่องข้อมูล Shared cloud APP ID ส่วนมากกรณีนี้จะเอาไว้ใช้งานในการแบ่งปันไฟล์เกมบันทึกระหว่างตัวเกมเดโมกับตัวเกมเต็ม การตั้งค่าเป็นค่า 0 จะปิดการใช้งานคุณสมบัตินี้

Steam Cloud API และ Steam Auto-Cloud

Steam ได้เตรียมกระบวนการการใช้งานคลาวด์บน Steam 2 กระบวนการด้วยกัน คุณสามารถดูรายละเอียดได้ว่าทั้งสองกระบวนการนั้นต่างกันอย่างไร และสามารถตัดสินใจเลือกได้เองว่ากระบวนการไหนที่เหมาะสมที่สุดที่จะนำไปใช้งานกับแอปพลิเคชันของคุณ

กระบวนการแรกนั้นคือ Steam Cloud API
Cloud API จะให้ชุดฟังก์ชันที่จะอนุญาตให้คุณสามารถประสานระบบคลาวด์บน Steam เข้าไปกับเกมของคุณได้โดยตรง Cloud API จะแบ่งแยกไฟล์ผู้ใช้ Steam เป็นไฟล์เดี่ยวออกจากไฟล์อื่น ๆ และจะมอบระดับการควบคุมคลาวด์บน Steam ที่เหนือกว่าได้

โดยจะสามารถเปิดเข้าใช้งาน Steam Cloud API ได้จากทางอินเตอร์เฟสของ ISteamRemoteStorage API และคุณสามารถดูตัวอย่างการใช้งานได้ในโปรเจ็กต์ แอปพลิเคชันตัวอย่างของ Steamworks API (SpaceWar)

กระบวนการที่สองนั้น คือSteam Auto-Cloud
Steam Auto-Cloud ได้รับการออกแบบมาให้ใช้งานกับเกมยุคเก่าที่มีความยุ่งยากในประสานการใช้งาน Steam Cloud API เข้าไปกับตัวเกม โดยกระบวนการนี้จะมอบการนำไปใช้งานที่ทั้งรวดเร็วและง่ายดาย แต่ว่าจะไม่ค่อยมีประสิทธิภาพและไม่มีความยืดหยุ่นเท่ากับ Steam Cloud API

โดยทั่วไปแล้ว หากเป็นไปได้ ก็ขอแนะนำให้คุณใช้ Cloud API เพราะว่าจะทำให้คุณสามารถประสานและปรับแต่งการใช้งานได้ละเอียดยิ่งขึ้น แล้วก็ยังสามารถทำให้คุณมอบประสบการณ์คุณภาพสูงที่ผู้ใช้ Steam คาดหวังจากคลาวด์บน Steam ได้อย่างดีที่สุด

Steam Auto-Cloud

Steam Auto-Cloud เป็นทางเลือกอีกทางของ Steam Cloud API ที่จะอนุญาตให้แอปสามารถใช้งานคลาวด์บน Steam ได้โดยที่ไม่ต้องเขียนโค้ดเพิ่มหรือดัดแปลงตัวเกมเลย ระบบนี้จะต้องการเพียงแค่ให้คุณระบุกลุ่มของไฟล์ที่คุณต้องการจะนำไปใส่ไว้ให้คงอยู่ในคลาวด์ แล้วจากนั้น Steam จะซิงค์กลุ่มไฟล์นี้โดยอัตโนมัติเวลาที่แอปพลิเคชันเปิดใช้งานหรือว่าออกจากการใช้งาน และขอแนะนำให้หลีกเลี่ยงการกำหนดค่าที่มีความเป็นเฉพาะเจาะจงต่อเครื่องใช้งาน เช่น คุณภาพวิดีโอ เป็นต้น

การตั้งค่า

หลังจากดำเนินการเสร็จแล้ว หัวข้อการกำหนดค่า การตั้งค่าครั้งแรก Steam Auto-Cloud ก็จะปลดล็อคให้ในหน้า การตั้งค่าคลาวด์บน Steam

ตำแหน่งรูทจะระบุกลุ่มไฟล์ที่จะนำไปใส่ไว้ให้คงอยู่ในคลาวด์บน Steam โดยแต่ละตำแหน่งรูทจะสามารถมีความเฉพาะเจาะจงกำหนดให้ใช้แต่กับเพียงไฟล์เพียง 1 ไฟล์ หรือจะระบุกว้าง ๆ เพื่อให้ใช้กับทุกไฟล์ในโฟลเดอร์ย่อยก็ได้ ให้ใช้ตำแหน่งใหม่สำหรับแต่ละกลุ่มไฟล์ที่จะซิงค์

ตำแหน่งรูทจะมีส่วนประกอบอยู่ด้วยกัน 5 ส่วนดังนี้:
  1. รูท

    รายการดังต่อไปนี้เป็นรายการของตำแหน่งที่ได้เตรียมเอาไว้ก่อนแล้ว ที่โดยเป็นสถานที่ที่โดยปกติแล้วใช้เก็บบันทึกเกม
    รูทประเภทที่รองรับตำแหน่งที่เกี่ยวข้อง
    App Install Directoryทั้งหมด[Steam Install]/SteamApps/common/[Game Folder]/
    SteamCloudDocumentsทั้งหมดPlatform specific path, e.g. on Linux: ~/.SteamCloud/[username]/[Game Folder]/
    WinMyDocumentsWindows%USERPROFILE%/My Documents/
    WinAppDataLocalWindows%USERPROFILE%/AppData/Local/
    WinAppDataLocalLowWindows%USERPROFILE%/AppData/LocalLow/
    WinAppDataRoamingWindows%USERPROFILE%/AppData/Roaming/
    WinSavedGamesWindows%USERPROFILE%/Saved Games/
    MacHomemacOS~/
    MacAppSupportmacOS~/Library/Application Support/
    MacDocumentsmacOS~/Documents/
    LinuxHomeLinux~/
    LinuxXdgDataHomeLinux$XDG\_DATA\_HOME/
  2. ไดเรกทอรีย่อย

    ตำแหน่งไดเรกทอรีย่อยไปยังไฟล์ที่อยู่ในคลาวด์ที่สัมพันธ์กับรูท ให้ใช้ \.\ หากไม่มีไดเรกทอรีย่อย

    ค่าตำแหน่งพิเศษของ Auto-Cloud
    Auto-Cloud จะอนุญาตให้ใช้งานตัวบ่งชี้ผู้ใช้ Steam เฉพาะได้ในตำแหน่ง ไดเรกทอรีย่อย ซึ่งก็จะอนุญาตให้คุณจัดเก็บไฟล์เซฟให้กับผู้ใช้ Steam แต่ละคนแยกจากกันได้ บนเครื่องคอมพิวเตอร์เดียวกัน คุณสามารถใช้ ISteamUser::GetSteamID ในเกมของคุณเพื่อเรียกรับ SteamID หรือ AccountID ของผู้ใช้ปัจจุบันที่จะจัดเก็บและอ่านได้
    • {64BitSteamID} - ใช้ตัวแปรนี้ในตำแหน่งของ Steam เพื่อแทรกไอดี Steam แบบ 64 บิตของผู้ใช้ ไอดี Steam แบบ 64 บิต จะมีลักษณะดังนี้: 76561198027391269
    • {Steam3AccountID} - ใช้ตัวแปรนี้ในตำแหน่งของ Steam เพื่อแทรกไอดี Steam แบบ 3 บิตของผู้ใช้ ไอดีบัญชีจะมีลักษณะดังนี้: 67125541
    ตัวอย่างเช่น: SavesDir/{64BitSteamID}
  3. รูปแบบ

    รูปแบบมาสก์ของไฟล์ที่จะเทียบให้ตรงกัน คุณสามารถใช้ * เป็นอักขระตัวแทน (wildcard) ได้ หากคุณต้องการไฟล์ทุกไฟล์ที่อยู่ในไดเรกทอรี ก็ให้ใช้ *

    ตัวอย่างเช่น: *.sav
  4. ระบบปฏิบัติการ

    ใช้ตั้งค่าระบบปฏิบัติการที่ไฟล์เหล่านี้จะได้รับการซิงค์เข้าไป โดยจะจำเป็นต้องใช้ก็ต่อเมื่อไฟล์ดังกล่าวมีความเฉพาะเจาะจงต่อระบบปฏิบัติการ ซึ่งทางเราก็หวังว่าจะไม่มีความจำเป็นต้องใช้!
  5. รีเคอร์ซีฟ

    รวมไดเรกทอรีย่อย เมื่อค้นหาไฟล์ที่ตรงกัน ซึ่งจะมีประโยชน์ในการใช้งานกับไดเรกทอรีย่อยที่ไม่สามารถคาดการณ์ชื่อได้ เช่น ชื่อผู้ใช้ หรือไอดีที่ไม่ใช่ของ Steam เป็นต้น หากมีการใช้งานไอดี Steam เช่นนั้นแล้ว ขอแนะนำเป็นอย่างยิ่งให้ใช้ค่าตำแหน่งพิเศษในช่องข้อมูลไดเรกทอรีย่อย

การแทนที่รูท

หากแอปพลิเคชันเป็นแอปพลิเคชันประเภทข้ามแพลตฟอร์มและจำเป็นจะต้องใช้งานไดเรกทอรีที่แตกต่างกันไปในแต่ละระบบปฏิบัติการ คุณก็จะสามารถใช้ฟังก์ชันการใช้งานการแทนที่รูท เพื่อกำหนดการแทนที่ตำแหน่งรูทที่คุณได้ตั้งค่าไปข้างต้นได้

จะสามารถแทนที่ตำแหน่งรูทตามที่กำหนดไว้ข้างต้นให้สอดรับไปกับตำแหน่งที่แตกต่างกันไปในแต่ละระบบปฏิบัติการได้ หากคุณใช้งานการแทนที่รูทคุณจะต้องระบุ [All OSes] ในเมนูเลื่อนลง Root OS ด้านบน

การแทนที่รูทจะมีส่วนประกอบอยู่ด้วยกัน 5 ส่วนดังนี้:
  1. รูทดั้งเดิม

    จะมีค่าเป็นหนึ่งในรูทที่คุณได้ตั้งค่าไว้ข้างต้น
  2. ระบบปฏิบัติการ

    ระบบปฏิบัติการที่จะใช้งานการแทนที่รูทดังกล่าว
  3. รูทใหม่

    ตำแหน่งใหม่ที่รูทดั้งเดิมได้แมปไว้บนระบบปฏิบัติการที่จะใช้งาน
  4. เพิ่ม/แทนที่ตำแหน่ง

    จะอนุญาตให้คุณสามารถเลือกที่จะเพิ่มตำแหน่งไดเรกทอรีย่อยที่แทรกเข้าไปอยู่ระหว่างรูทใหม่และไดเรกทอรีย่อยดั้งเดิมได้
  5. แทนที่ตำแหน่ง

    หากเปิดการใช้งาน ก็จะทำให้ตำแหน่งที่ได้ระบุเอาไว้ใน เพิ่ม/แทนที่ตำแหน่ง เข้าไปแทนที่ไดเรกทอรีย่อยดั้งเดิมทั้งหมดโดยสมบูรณ์

ตัวอย่างเช่น: การกำหนดค่า Auto-Cloud ให้กับแอปพลิเคชัน Unity

รายละเอียดดังต่อไปนี้เป็นตัวอย่างของการตั้งค่า Auto-Cloud สำหรับใช้งานกับ Unity และคุณสมบัติ Application.persistentDataPath ที่ค่าของข้อมูลจะมีความแตกต่างกันไปตามแต่ละระบบปฏิบัติการ ในเวอร์ชันของ Windows จะมีกำหนดค่าให้เป็นตำแหน่งรูทพร้อมกับตั้งค่า company ใน Unity ให้เป็น DefaultCompany และโครงการที่เรียกว่า AutocloudSample ใน macOS และ Linux/SteamOS จะตั้งค่าตำแหน่งทางเลือกจาก Application.persistentDataPath ในช่องข้อมูล
เพิ่ม/แทนที่ตำแหน่ง และจะเปิดการใช้งาน แทนที่ตำแหน่ง

ด้วยการตั้งค่าเหล่านี้ ไฟล์ของ Auto-Cloud จะได้รับการซิงค์ไปมาระหว่างโฟลเดอร์ 3 โฟลเดอร์ตามที่ได้แสดงไว้ในตัวอย่าง

Cloud_Unity_Auto-Cloud_Example.png

การทดสอบก่อนการวางจำหน่าย

หากคุณต้องการเพิ่มค่าคลาวด์อัตโนมัติบน Steam ให้เกมที่ได้รับการวางจำหน่ายไปแล้วและคุณได้เปิดการใช้งานโหมดเฉพาะผู้พัฒนาในระหว่าง การตั้งค่าครั้งแรก คุณก็จะต้องดำเนินการขั้นตอนเพิ่มเติมบางขั้นตอนให้เสร็จสิ้นเพื่อทดสอบการใช้งานเสียก่อน
  1. เข้าสู่ระบบ Steam ด้วยบัญชีที่เป็นเจ้าของใบอนุญาตสิทธิ์ Developer Comp ของแอปที่คุณต้องการจะทดสอบ
  2. เปิดคอนโซลของ Steam ขึ้นมาแล้วไปยัง steam://open/consoleที่อยู่ในเบราว์เซอร์ของคุณ
  3. ตั้งค่า testappcloudpaths <AppId> ลงไปในคอนโซลพร้อมกับไอดีแอปที่ต้องการจะทดสอบ ตัวอย่าง: testappcloudpaths 480
  4. ตั้งค่า set_spew_level 4 4 ลงไปในคอนโซล
  5. เรียกใช้งานแอปของคุณจาก Steam
  6. ตรวจสอบดูการดำเนินการต่าง ๆ ในคอนโซล หากมีไฟล์อยู่ในตำแหน่งของค่าคลาวด์อัตโนมัติเช่นนั้นแล้ว คุณก็ควรจะเห็นว่ากำลังมีการอัปโหลดไฟล์เหล่านั้น หากไม่เช่นนั้นแล้ว ก็ให้จัดเก็บไฟล์จากแอปของคุณ แล้วก็ให้ปิดแอปเสียเพื่อให้เรียกใช้งานกระบวนการซิงค์
  7. ไปยังเครื่องพีซีเครื่องอื่น และทำขั้นตอนต่าง ๆ ข้างต้นนี้ซ้ำอีกครั้ง เพื่อทดสอบการดาวน์โหลดไฟล์ดังกล่าวเหล่านั้นจากค่าคลาวด์อัตโนมัติบน Steam
  8. กรุณาตรวจสอบให้มั่นใจว่าได้ดำเนินการทดสอบกับระบบปฏิบัติการที่ได้รับการรองรับทั้งหมดแล้ว
  9. ตั้งค่า testcloudapppaths 0 และ set_spew_level 0 0 เพื่อสิ้นสุดการทดสอบ จากนั้นคุณสามารถรีสตาร์ตไคลเอนต์ Steam เพื่อปิดแท็บคอนโซลออกไปได้

เมื่อคุณดำเนินการทดสอบเสร็จเรียบร้อยแล้ว อย่าลืมปิดการใช้งานโหมดผู้พัฒนาเท่านั้น แล้วเผยแพร่การเปลี่ยนแปลงเหล่านั้น

การดีบัก

เริ่มแรก กรุณาตรวจสอบยืนยันให้มั่นใจทุกครั้งว่าคุณได้เผยแพร่การเปลี่ยนแปลงของคุณบนเว็บไซต์พันธมิตร Steam และได้รอเป็นเวลาครบ 10 นาทีหรือได้รีสตาร์ทไคลเอนต์ Steam ของคุณเพื่อรับการเปลี่ยนแปลงที่ได้เผยแพร่ไปแล้ว

หากว่าคุณประสบกับปัญหาในการใช้งานคลาวด์บน Steam ขอแนะนำให้คุณตรวจดูไฟล์บันทึกล็อกที่อยู่ที่ %Steam Install%\logs\cloud_log.txt

กรุณาดู การดีบัก Steamworks API เพื่อรับข้อมูลเพิ่มเติม