HEARTBEAT
Establishes a secure connection to the authentication server and initializes the security system.
Critical: This function must be called before any other authentication operations.
Signature
bool SendHeartbeat();Parameters
None - This function takes no parameters.
Returns
Type: bool
true
Connection established successfully
false
Connection failed
Description
SendHeartbeat performs multiple critical operations:
This function must be called after Init() and before any other operations.
Basic Example
What Happens Behind the Scenes
Connection
Connects to authentication server
Uses encrypted channel
Timeout: 10 seconds
Errors:
"Socket creation failed"
"Connection timeout"
"Server unreachable"
Encrypted Handshake
Exchanges encryption keys
Establishes secure channel
Verifies server identity
Encryption:
AES-256 for data
HMAC for authentication
Time-based encryption layer
Errors:
"Handshake failed"
"Invalid server response"
Hardware ID Collection
Collects and sends:
****************
****************
****************
****************
Hashing:
****************
****************
Errors:
"HWID collection failed"
Receives Configuration
Server sends:
Integrity check settings
Expected file hash
Blacklist configuration
Detection actions
Applied Automatically:
No manual configuration needed
Settings from dashboard
File Verification
If enabled in dashboard:
****************
****************
****************
Actions:
Close application
BSOD (if configured)
Report to server
Errors:
"Integrity check failed"
Process/Window Scanning
If enabled in dashboard:
Scans for blacklisted processes
****************
Continuous background monitoring
Actions:
Close application
BSOD (if configured)
Report to server
Errors:
"Blacklisted process detected"
"Blacklisted window detected"
"The computer was not found to be secure"
Complete Example
Error Handling
Common Errors
Socket creation failed
Cause: Network initialization error
Solutions:
Check internet connection
Verify firewall settings
Ensure Windows Sockets initialized
Check antivirus blocking
Connection timeout
Cause: Cannot reach server
Solutions:
Verify server is running
Check SERVER_IP and SERVER_PORT
Test network connectivity
Check firewall rules
Access denied
Cause: Invalid API key
Solutions:
Verify API key is correct
Check key is for correct application
Ensure key is not expired
Copy key again from dashboard
Integrity check failed
Cause: Application file modified
Solutions:
Re-download original file
Update expected hash in dashboard
Disable integrity check for testing
Check for file corruption
Blacklisted process detected
Cause: Forbidden software running
Solutions:
Close blacklisted applications
Check dashboard blacklist settings
Remove from blacklist if legitimate
Disable blacklist for testing
When to Call SendHeartbeat
Recommended: Call once at startup
Optional: For long-running applications
Optional: For network-aware applications
Performance Considerations
Execution Time
SendHeartbeat typically takes 100-500ms depending on:
Network latency
Server load
Integrity check (if enabled)
Blacklist scan (if enabled)
Use when: Application startup, before critical operations
Use when: Want to show loading UI
Security Features Activated
After successful SendHeartbeat:
Integrity Check
SHA256 file verification
Dashboard → Applications → Integrity
Blacklist Protection
Process/window monitoring
Dashboard → Applications → Blacklist
Background Monitoring
Continuous security checks
Automatic
HWID Binding
Hardware identification
Dashboard → Applications → HWID
Web Dashboard Configuration
Security settings are configured in Dashboard → Applications
Enable Integrity Check
Go to Dashboard → Applications
Select your application
Navigate to Integrity tab
Enable Integrity Check
Upload your executable
Hash is calculated automatically
Choose detection action (Close App / BSOD)
Configure Blacklist
Go to Dashboard → Applications
Select your application
Navigate to Blacklist tab
Add blacklisted processes (e.g., "cheatengine.exe")
Add blacklisted windows (e.g., "Cheat Engine")
Choose detection action (Close App / BSOD)
Best Practices
Don't
Call SendHeartbeat multiple times unnecessarily
Ignore return value
Proceed without successful connection
Call before Init()
Related Functions
Init - Initialize library (call before SendHeartbeat)
ValidateKey - Validate license (call after SendHeartbeat)
Last updated