Skip to main content

Quick Start Guide

This guide will help you get ACHCE Client running quickly and connect to a protected Halo Custom Edition server.
Make sure you’ve completed the installation steps before proceeding with this guide.

Overview

ACHCE Client follows a simple workflow:
  1. Launch the client application
  2. Wait for initialization and Firebase connection
  3. The protection overlay activates automatically
  4. Play Halo Custom Edition on protected servers
  5. Exit the client when done
Let’s walk through each step in detail.

Starting ACHCE Client

1

Launch the Application

Navigate to your ACHCE Client installation directory and run the executable:
# If built from source
cd ACHCE_Cliente/bin/Release
./ACHCE Cliente.exe

# Or double-click the executable in Windows Explorer
The application must be run with standard user permissions. Administrator rights are not required.
2

Initial Loading Screen

When ACHCE Client launches, you’ll see the loading screen (Form1):
// The loading process is managed by timers
timer1.Start();  // Checks for connection completion
timer2.Start();  // Displays loading animation
During this phase, the client:
  • Connects to Firebase Realtime Database
  • Retrieves your public IP address
  • Generates a random session identifier
  • Registers your session in the database
Do not close the application during the loading phase. Let it complete initialization.
3

Session Registration

Behind the scenes, ACHCE Client performs automatic session registration:
// Generate random session identifier
GenerateRandomNames names = new GenerateRandomNames();
Random rand = new Random();
randomName = names.GenerateRandomName(rand);

// Get your public IP address
PublicIPAddress IpAddressPlayer = new PublicIPAddress();
IpPlayer = IpAddressPlayer.GetPublicIPAddress();

// Register with Firebase
Player ply = new Player() { IP = IpPlayer };
var setter = client.Set("PlayerIpList/" + randomName, ply);
Your session identifier is a random string (4-9 characters) like "abcdxyz".
4

Protection Overlay Activated

Once initialization completes, the protection overlay (Form2) launches automatically:
// Transition to protection overlay
Form2 form2 = new Form2();
this.Hide();  // Hide loading screen
form2.Show(); // Show protection overlay
The overlay window:
  • Fills your entire screen
  • Stays on top of all other windows (TopMost)
  • Blocks access to external cheat tools
The protection overlay is designed to minimize interference with your gaming experience while blocking cheat tools.

Understanding the Protection Overlay

The protection overlay is a key component of ACHCE Client’s anti-cheat system:
private void Form2_Load(object sender, EventArgs e)
{
    // Get primary monitor resolution
    Rectangle resolution = Screen.PrimaryScreen.Bounds;
    
    // Set window to fullscreen
    this.Size = new Size(resolution.Width, resolution.Height);
    
    // Position at top-left corner
    this.Location = new Point(
        (resolution.Width - this.Width), 
        (resolution.Height - this.Height)
    );
}

What the Overlay Does

Fullscreen Coverage

Automatically adjusts to your monitor’s resolution to provide complete screen coverage

TopMost Priority

Maintains highest window priority to prevent external tools from appearing on top

Minimal Intrusion

Designed to be transparent or minimally visible during gameplay

Easy Exit

Click the close button to exit when you’re done playing

Playing with ACHCE Client

Once the protection overlay is active:
1

Launch Halo Custom Edition

With ACHCE Client running, launch Halo Custom Edition normally:
  • Use your standard Halo CE shortcut
  • Or navigate to your Halo CE installation and run haloce.exe
The game will launch while ACHCE Client maintains protection in the background.
2

Connect to Protected Servers

Join servers that require ACHCE Client:
  1. Open the multiplayer menu in Halo CE
  2. Connect to your desired server
  3. The server will verify your ACHCE Client connection via Firebase
  4. You’ll be able to join and play normally
Server administrators can check the Firebase database to verify active ACHCE Client sessions.
3

Play Normally

Enjoy your gaming session with cheat protection active:
  • The protection overlay runs continuously
  • Your session is maintained in Firebase
  • Cheat injection tools are blocked by the TopMost window

Closing ACHCE Client

When you’re done playing:
1

Exit Halo Custom Edition

Close the game normally through the in-game menu or by closing the game window.
2

Close the Protection Overlay

Click the close button (X) on the ACHCE Client overlay window:
private void pictureBox2_Click(object sender, EventArgs e)
{
    Application.Exit();  // Closes the application
}
3

Automatic Cleanup

ACHCE Client automatically cleans up your session:
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    // Remove session from Firebase
    var result = client.Delete("PlayerIpList/" + randomName);
    MessageBox.Show("data deleted successfully");
}
Your session data is removed from the Firebase database, freeing up server resources.

Common Usage Scenarios

Scenario 1: Quick Gaming Session

1. Launch ACHCE Client
2. Wait 5-10 seconds for initialization
3. Launch Halo CE and connect to server
4. Play your session
5. Close both Halo CE and ACHCE Client when done

Scenario 2: Multiple Server Connections

You can connect to multiple servers during a single ACHCE Client session:
  1. Keep ACHCE Client running
  2. Connect to Server A, play, then disconnect
  3. Connect to Server B, play, then disconnect
  4. Your ACHCE session remains active throughout
  5. Close ACHCE Client when completely done

Scenario 3: Tournament Play

For competitive or tournament environments:
1

Pre-Match Setup

Launch ACHCE Client 5 minutes before match start to ensure stable connection
2

Verify Connection

Ask tournament admins to verify your session in Firebase
3

Join Tournament Server

Connect to the tournament server once verification is complete
4

Maintain Connection

Keep ACHCE Client running for the entire tournament duration

Troubleshooting Quick Start Issues

Application Doesn’t Start

Symptom: Double-clicking the executable does nothing or shows an error. Solutions:
# Verify .NET Framework is installed
# Check Windows Event Viewer for error details
# Try running from command line to see error messages
Ensure you have .NET Framework 4.7.2 or higher installed. See the installation guide for details.

Stuck on Loading Screen

Symptom: The loading screen doesn’t progress to the protection overlay. Possible Causes:
  • Firebase connection failure (check internet connection)
  • Incorrect Firebase credentials in configuration
  • Firebase database quota exceeded
Solution:
// Check the Form1.cs file for Firebase errors
try
{
    client = new FireSharp.FirebaseClient(fcon);
}
catch
{
    // This error message will appear if Firebase connection fails
    MessageBox.Show("there was problem in the internet.");
}

IP Address Not Detected

Symptom: Error message about IP address detection. Code causing the issue:
public string GetPublicIPAddress()
{
    try
    {
        using (var client = new WebClient())
        {
            // Uses external service to get public IP
            string publicIP = client.DownloadString("http://ipinfo.io/ip").Trim();
            return publicIP;
        }
    }
    catch (Exception ex)
    {
        return "No se pudo obtener la dirección IP pública: " + ex.Message;
    }
}
Solutions:
  • Check your firewall settings (allow ACHCE Client to access the internet)
  • Verify the ipinfo.io service is accessible from your network
  • Ensure no proxy or VPN is blocking the IP detection service

Protection Overlay Covers Everything

Symptom: Can’t access anything while the overlay is active. Expected Behavior: This is intentional! The overlay is designed to block external tools. Workaround:
  • Launch Halo CE before or after ACHCE Client
  • Use Alt+Tab to switch between windows (if implemented)
  • Close ACHCE Client temporarily if you need to access other applications

Best Practices

Launch Order

Start ACHCE Client first, then launch Halo Custom Edition for best results

Stable Connection

Ensure stable internet connection before launching to prevent Firebase issues

Close Properly

Always use the close button to exit - this ensures proper database cleanup

Single Instance

Only run one instance of ACHCE Client at a time per machine

Advanced Usage

Verifying Your Session

Server administrators can verify your active session in Firebase:
// Your entry in Firebase Realtime Database
{
  "PlayerIpList": {
    "abcdxyz": {  // Your random session identifier
      "IP": "123.456.789.012"  // Your public IP
    }
  }
}

Understanding Session Identifiers

Each time you launch ACHCE Client, a new random identifier is generated:
public string GenerateRandomName(Random rand)
{
    int nameLength = rand.Next(4, 10); // 4 to 9 characters
    char[] allowedChars = "abcdefghijklmnopqrstuvwxyz".ToCharArray();
    
    char[] name = new char[nameLength];
    for (int i = 0; i < nameLength; i++)
    {
        name[i] = allowedChars[rand.Next(0, allowedChars.Length)];
    }
    
    return new string(name);
}
Examples: "qwerty", "abcd", "xyzabc", "hello"

Next Steps

Now that you’re familiar with the basics, explore more advanced topics:

Configuration

Customize ACHCE Client settings for your environment

Core Concepts

Understand how ACHCE Client protection works

API Reference

Explore the player tracking and Firebase integration

Troubleshooting

Detailed solutions for common issues

Getting Help

If you encounter issues not covered in this guide:
1

Check the Documentation

Review the installation and troubleshooting sections for solutions
2

Review Firebase Console

Check for connection errors or database issues in the Firebase Console
3

Community Support

Reach out to the ACHCE Client community for assistance
4

Report Bugs

Submit bug reports with detailed information about your issue
Keep ACHCE Client updated to ensure compatibility with the latest anti-cheat measures and bug fixes.

Build docs developers (and LLMs) love