הקמת Backend למשחקים: שרתים ייעודיים ופלטפורמות מנוהלות
אנו משלבים ומגדירים backend למשחקים המותאם לז'אנר ולתקציב שלכם. שרת משחק בזמן אמת מעבד 20–60 ticks בשנייה מכל אחד מ-16 שחקנים בו-זמנית — דרישות השהיה, תפוקה וזמינות שונות מהותית מ-backend של אתר רגיל. הבחירה בין backend מנוהל למשחקים לבין שרת ייעודי מותאם אישית חושפת לעיתים קרובות טעויות רק במבחן העומס הראשון.
איך לבחור בין backend מנוהל לשרת ייעודי?
למשחקים מבוססי תורות ומשחקי קז'ואל (משחקי קלפים, פאזלים, משחקי מסיבה), backend מנוהל כמו PlayFab (מיקרוסופט) או Nakama Cloud (Heroic Labs) מספיק. הם מכסים אימות, כלכלה, לוחות מובילים, צ'אט והתאמת שחקנים ללא כתיבת קוד שרת. למשחקי אקשן בזמן אמת (יריות, משחקי לחימה, מרוצים), יש צורך בשרת משחק ייעודי — תהליך שמריץ Unity או Unreal במצב headless ומטפל באופן סמכותי בפיזיקה, בינה מלאכותית ולוגיקת המשחק.
ארכיטקטורת שרת משחק ייעודי
Unity Dedicated Server build הוא יעד בנייה נפרד ללא גרפיקה, זמין בגרסאות LTS האחרונות. קוד בצד השרת מסומן עם #if UNITY_SERVER. פיזיקה, התנגשויות, בינה מלאכותית וחישוב נזק מבוצעים אך ורק בשרת. הלקוח שולח רק קלט ומקבל עדכוני מצב.
אפשרויות אירוח לשרתים ייעודיים
- Unity Gaming Services Multiplay: מנוהל, קנה מידה אוטומטי, תשלום לפי שעה (~$0.015 לשעה לשרת).
- AWS GameLift: פתרון בוגר עם ציי שרתים, קנה מידה אוטומטי ו-FlexMatch להתאמת שחקנים (החל מ-$0.005 לשעה למופע).
- VPS משלכם דרך Docker + orchestrator: זול יותר אך דורש כישורי DevOps (לדוגמה, $10 לחודש לשרת קטן).
GameLift FlexMatch מתאים שחקנים לפי מיומנות, השהיה ואזור, מפעיל שרת לכל סשן ומספק מידע חיבור ללקוחות. אינטגרציה ב-Unity דרך AWS SDK.
Nakama כ-backend למשחקים
Nakama הוא שרת משחק בקוד פתוח שמכסה 80% מצרכי המולטיפלייר למובייל ולמחשב ללא כתיבת קוד backend מותאם אישית. תכונות מובנות: מולטיפלייר בזמן אמת (WebSocket), התאמת שחקנים, צ'אט, לוחות מובילים, טורנירים, פרופילי שחקנים, כלכלה וירטואלית והתראות push.
פריסה דרך Docker Compose תוך מספר שעות. Unity SDK רשמי עם תיעוד. לוגיקה מותאמת אישית דרך מודולים בצד השרת ב-TypeScript או Go (Lua הוצא משימוש). מודולי TypeScript מורכבים ונפרסים ללא הפעלה מחדש של השרת.
מקרה אמיתי: משחק קלפים למובייל עם PvP 1v1. דרישות: התאמת שחקנים, דירוג ELO, אחסון שידורים חוזרים, אנטי-צ'יט באמצעות אימות פעולות. בחרנו ב-Nakama באירוח עצמי על VPS (ל-500 MAU) בתוספת מודול TypeScript מותאם אישית לאימות מהלכים וחישוב ELO. פיתוח ה-backend ארך 3 שבועות במקום 8 שבועות מוערכים ל-backend מותאם אישית — חיסכון של 62.5% בזמן הפיתוח. עומס שיא של 500 משתמשים בו-זמנית עם השהיה מתחת ל-50ms אישר יציבות. הניסיון של הצוות שלנו של 5+ שנים ב-backend למשחקים מאשר ש-Nakama אידיאלי לפרויקטים אינדי ומיד-קור.
PlayFab למשחקי קז'ואל ומובייל
PlayFab (מיקרוסופט) הוא backend מנוהל למשחקים עם פונקציונליות עשירה: פרופילי שחקנים, Cloud Scripts (Azure Functions), Economy V2 (מטבע, קטלוג, מלאי), לוחות מובילים, Segments לדחיפות ובדיקות A/B, והתאמת שחקנים.
תמחור: 1000 ה-MAU הראשונים בחינם, לאחר מכן לפי MAU (לדוגמה, $0.02 ל-MAU לרמה סטנדרטית). לפרויקט היפר-קז'ואל עם 100k MAU, העלות יכולה להיות משמעותית (~$1,980 לחודש), אך למיד-קור עם מונטיזציה זה בדרך כלל מוצדק.
חשוב: Cloud Scripts רצים בצד השרת, ומאפשרים פעולות מטבע בטוחות, אימות קבלות IAP והחלת קודי קידום. כפי שמיקרוסופט מציינת בתיעוד שלהם: Cloud Scripts מבוצעים בצד השרת — לעולם אל תסמכו על הלקוח בפעולות כלכלה; רק דרך Cloud Scripts.
מתי לבחור Nakama לעומת PlayFab?
Nakama מהיר פי 1.5 להקמה מאשר PlayFab לפרויקטים שדורשים לוגיקת זמן אמת מותאמת אישית, ועולה פי 3 פחות ב-500 MAU (אירוח עצמי לעומת מנוהל). PlayFab מציע פי 2 יותר תכונות כלכלה מובנות ותשתית מנוהלת רחבה יותר.
| תכונה | Nakama | PlayFab |
|---|---|---|
| מולטיפלייר בזמן אמת | WebSocket | Photon / Direct |
| התאמת שחקנים | מובנה | FlexMatch (GameLift) |
| כלכלה | כלכלה וירטואלית | Economy V2 |
| פונקציות ענן | TypeScript | Azure Functions |
| תמחור | אירוח עצמי / ענן | תשלום לפי MAU |
Nakama מתאים לפרויקטים אינדי עם בקרת נתונים קפדנית ולוגיקה מותאמת אישית. PlayFab מתאים לאינטגרציה מהירה במערכת האקולוגית של מיקרוסופט ולתשתית מנוהלת.
ארכיטקטורת backend טיפוסית למולטיפלייר
Client (Unity) ↕ WebSocket (real-time game data) Game Server (Unity Headless / Custom) ↕ REST/gRPC Game Backend (Nakama / PlayFab) ↓ Database (PostgreSQL / CockroachDB) שרת משחק: לוגיקת משחק סמכותית, חי רק במהלך משחק ולאחר מכן נסגר. Backend למשחקים: קבוע — פרופילים, כלכלה, לוחות מובילים, אימות. הפרדה היא חובה: שרת המשחק לא צריך לדעת על מונטיזציה, וה-backend לא צריך להכיל פיזיקת משחק.
תהליך העבודה שלנו
- ניתוח: קביעת ז'אנר, מספר שחקני יעד, דרישות זמן אמת, תקציב תשתית.
- עיצוב: בחירת מחסנית (Nakama/PlayFab/שרת ייעודי), עיצוב סכמת נתונים ו-API.
- יישום: הקמת backend, אינטגרציה עם Unity/Unreal, פיתוח מודולים מותאמים אישית.
- בדיקות: בדיקות עומס עם k6 או Locust, סימולציית עומס שיא, בדיקת השהיה ויציבות.
- פריסה: פריסת staging זהה לייצור (Docker Compose/Kubernetes). הייצור שונה רק בקנה מידה — לא בתצורה.
לוחות זמנים משוערים
| היקף המשימה | משך זמן |
|---|---|
| Nakama באירוח עצמי + אינטגרציית Unity בסיסית | 1–2 שבועות |
| אינטגרציית PlayFab (אימות + כלכלה + לוחות מובילים) | 2–3 שבועות |
| שרת משחק ייעודי (Unity headless) + אירוח | 3–6 שבועות |
| backend מולטיפלייר מלא (שרת + שכבת מטא) | 6–12 שבועות |
מה כלול
- תיעוד: סכמת API, תיאורי endpoints, מדריך פריסה.
- גישה: מאגר קוד, אישורי staging וייצור.
- הדרכה: סשן לצוות שלכם לעבודה עם ה-backend.
- תמיכה: חודש אחריות לאחר המסירה.
העלות מחושבת באופן אישי לאחר ניתוח הדרישות ותקציב התשתית. קבלו ייעוץ לבחירת מחסנית — צרו קשר.





