הבעיה ש-heartbeat פותר
הצ'יט הכי קשה לזיהוי הוא זה שמכבה בשקט את הלקוח של האנטי-צ'יט שלך ואז רץ בלי שאף אחד רואה. אפשר לעשות הוק לבדיקות חתימה. אפשר לחסום בדיקת NUI. אפשר להחליף פונקציות שלמות ריצה בפונקציות ריקות. ברגע ששכבת הלקוח שותקת, AC חד-שכבתי עיוור. heartbeat נגד שיבוש קיים כדי שהשקט הזה יעלה ביוקר: היעדר heartbeat הוא בעצמו זיהוי.
איך לולאת ה-heartbeat עובדת
הלקוח של Raven שולח מטען חתום בקצב קבוע (מסתגל לכל שרת, ראה את הערך מ-2026-02-17 ב-changelog; בעבר קבוע על 1500ms). המטען כולל האש קריפטוגרפי של מצב ריצה קריטי (שלמות ריסורסים, טביעות אצבע של טבלת ההוקים, כתובות של מטפלי אירועים) יחד עם חותמת זמן ו-nonce לכל סשן. השרת מאמת את החתימה, משווה את ההאש לקו הבסיס הצפוי ומודד את הזמן בין ההגעות. מזוהים שלושה מצבי כשל: ה-heartbeat לא מגיע (לקוח שותק), ה-heartbeat מגיע אבל המטען שלו כבר לא תואם לערכים הצפויים (לקוח משובש), או שה-heartbeat מגיע בקצב שגוי (לקוח בשידור חוזר או מיושן).
למה הקצב חשוב
חלון heartbeat קבוע קל יותר להתחמקות. צ'יט שמכבה את הלקוח לרגע בין שני heartbeats יכול לשמור את הלולאה בחיים ועדיין לרוץ בלי שרואים אותו. קצב מסתגל לכל שרת (מכויל מול השהיית הטיק הממוצעת ב-24 השעות הראשונות) הופך את החלון הזה לבלתי צפוי לצ'יט, בלי לגרום בעיות לשחקנים לגיטימיים בנתיבים עם השהייה גבוהה. גרסת 2026-03 שינתה את חלון ברירת המחדל מ-1500ms קבוע לטווח מסתגל של 800-1500ms, מה שהוריד זיהויים שגויים בנתיבי EU/AS בכ-38%.
מה קורה כשה-heartbeat נכשל
תגובות הכשל ניתנות להגדרה לכל שרת בשלוש דרגות. דרגה 1 (אזהרה) מסמנת את השחקן במפה החיה ומיידעת אדמינים דרך ה-webhook של Discord שהוגדר. דרגה 2 (קיק) מעיפה את השחקן מהשרת עם סיבת ניתוק גנרית ורושמת את האירוע עם ראיות מלאות (ה-heartbeat התקין האחרון, חותמת הזמן הנוכחית, הפרש המטענים). דרגה 3 (באן אוטומטי) נותנת באן לשחקן בשרת המקומי ומכניסה אותו לתור לקידום למסד הבאנים הגלובלי אחרי בדיקת אדמין. ברירת המחדל שמרנית (קודם אזהרה, הסלמה רק בחזרה), כי שכבת ה-heartbeat יכולה לייצר זיהויים שגויים בזמן תקלות רשת לגיטימיות.
איך ה-heartbeat משתלב בציון האמון
כל אנומליה ב-heartbeat תורמת לציון האמון של השחקן (הוצג בגרסה 2026.4.0, ראה /changelog). heartbeat אחד שמאחר הוא רעש. כמה heartbeats מאחרים מאותו שחקן לאורך סשנים, heartbeat שמפגר דווקא כשהשחקן נכנס למצבי משחק מסוימים, או heartbeat שמחזיר בעקביות את אותו האש למרות שחבילת הריסורסים התעדכנה: כל אלה סיגנלים שמצפים את השחקן במפה החיה לבדיקת אדמין הרבה לפני שנדלק באן כלשהו בדרגה 3.