Skip to main content

Installing ACHCE Client

This guide will walk you through installing ACHCE Client, setting up the required dependencies, and configuring Firebase integration for player tracking and ban management.

Prerequisites

Before installing ACHCE Client, ensure you have the following:

Windows OS

Windows 7 or later (Windows 10/11 recommended)

.NET Framework 4.7.2

Required runtime environment for the application

Firebase Account

Free Google Firebase account for database functionality

Internet Connection

Required for Firebase communication and IP verification

System Requirements

Minimum Requirements

  • OS: Windows 7 SP1 or later
  • RAM: 2GB minimum
  • .NET Framework: 4.7.2 or higher
  • Internet: Stable connection for Firebase operations
  • OS: Windows 10 or Windows 11
  • RAM: 4GB or more
  • .NET Framework: Latest version
  • Internet: Broadband connection

Installation Steps

1

Install .NET Framework 4.7.2

If you don’t have .NET Framework 4.7.2 installed, download it from Microsoft:
  1. Visit the .NET Framework 4.7.2 download page
  2. Download the offline installer or web installer
  3. Run the installer and follow the prompts
  4. Restart your computer if prompted
Windows 10 version 1803 and later includes .NET Framework 4.7.2 by default.
2

Download ACHCE Client

Clone the repository or download the source code:
git clone https://github.com/your-org/ACHCE_Cliente.git
cd ACHCE_Cliente
Alternatively, download the pre-built release from the releases page.
3

Set Up Firebase Project

Create a Firebase project for player tracking:
  1. Go to the Firebase Console
  2. Click “Add project” and enter a project name (e.g., “ACHCE-Server”)
  3. Disable Google Analytics (optional for this use case)
  4. Click “Create project”
Firebase Realtime Database is used for real-time player tracking and ban management.
4

Configure Firebase Realtime Database

Set up the database for ACHCE Client:
  1. In the Firebase Console, navigate to BuildRealtime Database
  2. Click “Create Database”
  3. Select your preferred location
  4. Start in Test mode for initial setup (configure security rules later)
  5. Note your database URL (e.g., https://your-project.firebaseio.com)
5

Get Firebase Authentication Credentials

Retrieve your Firebase credentials:
  1. In the Firebase Console, click the gear icon → Project settings
  2. Navigate to the Service accounts tab
  3. Click Database secrets (legacy tokens)
  4. Copy your database secret token
Keep your Firebase secret token secure. Never commit it to public repositories.
6

Configure ACHCE Client

Update the Firebase configuration in your project:Open ACHCE_Cliente/Form1.cs and update the Firebase configuration:
// Ingreso a la base de datos
IFirebaseConfig fcon = new FirebaseConfig()
{
    AuthSecret = "YOUR_FIREBASE_SECRET_TOKEN", // Replace with your token
    BasePath = "https://your-project.firebaseio.com" // Replace with your database URL
};
Replace the placeholder values with your actual Firebase credentials.
7

Build the Project

Build ACHCE Client using Visual Studio or MSBuild:Using Visual Studio:
  1. Open ACHCE_Cliente.csproj in Visual Studio 2017 or later
  2. Restore NuGet packages (right-click solution → Restore NuGet Packages)
  3. Build the solution (Build → Build Solution or press Ctrl+Shift+B)
Using MSBuild (Command Line):
# Restore NuGet packages
nuget restore ACHCE_Cliente.sln

# Build the project
msbuild ACHCE_Cliente.sln /p:Configuration=Release
The compiled executable will be in bin/Release/ACHCE Cliente.exe

Dependencies

ACHCE Client requires the following NuGet packages (automatically installed when building):
<!-- FireSharp for Firebase integration -->
<PackageReference Include="FireSharp" Version="2.0.4" />

<!-- Newtonsoft.Json for JSON serialization -->
<PackageReference Include="Newtonsoft.Json" Version="6.0.4" />

<!-- Microsoft BCL Async for async operations -->
<PackageReference Include="Microsoft.Bcl.Async" Version="1.0.168" />

<!-- Microsoft HTTP Client Libraries -->
<PackageReference Include="Microsoft.Net.Http" Version="2.2.28" />
These packages provide:
  • FireSharp: Firebase Realtime Database client for .NET
  • Newtonsoft.Json: JSON serialization for data exchange
  • Microsoft.Bcl.Async: Asynchronous programming support
  • System.Net.Http: HTTP client functionality for IP detection

Firebase Database Structure

ACHCE Client uses the following database structure:
{
  "PlayerIpList": {
    "randomname123": {
      "IP": "123.456.789.012"
    },
    "randomname456": {
      "IP": "098.765.432.101"
    }
  }
}
Each connected player gets a random identifier and their IP address is stored during the session.
Player entries are automatically deleted from the database when they close the ACHCE Client application.

Firebase Security Rules

For production use, configure proper security rules for your Firebase Realtime Database:
{
  "rules": {
    "PlayerIpList": {
      ".read": "auth != null",
      ".write": "auth != null",
      "$playerId": {
        ".validate": "newData.hasChildren(['IP'])"
      }
    }
  }
}
This configuration:
  • Requires authentication for read/write operations
  • Validates that player entries contain an IP field
Never use Test mode security rules in production. They allow anyone to read/write your database.

Verification

After installation, verify that ACHCE Client is working correctly:
1

Test Firebase Connection

Launch ACHCE Client. You should see:
  • No error messages about internet connectivity
  • The loading screen should progress normally
2

Check Firebase Console

Open your Firebase Console and navigate to the Realtime Database:
  • You should see a new entry under PlayerIpList
  • The entry should contain your public IP address
3

Test Exit Cleanup

Close ACHCE Client and check the Firebase Console:
  • The player entry should be automatically removed
  • This confirms proper session management

Troubleshooting

”There was problem in the internet” Error

This error occurs when Firebase connection fails:
catch
{
    MessageBox.Show("there was problem in the internet.");
}
Solutions:
  • Verify your internet connection is active
  • Check that Firebase credentials are correctly configured
  • Ensure your Firebase project is active and not over quota
  • Verify the BasePath URL is correct and includes https://

Build Errors

If you encounter build errors:
  1. Missing NuGet packages: Restore packages using nuget restore
  2. Wrong .NET version: Ensure you have .NET Framework 4.7.2 SDK installed
  3. MSBuild not found: Install Visual Studio Build Tools

Firebase Authentication Issues

If Firebase operations fail:
  • Verify your AuthSecret is correct (no extra spaces or quotes)
  • Check Firebase Console for API restrictions or disabled services
  • Ensure Realtime Database is enabled for your project

Next Steps

Now that ACHCE Client is installed, proceed to the Quick Start guide to learn how to use it:

Quick Start Guide

Learn how to run ACHCE Client and connect to protected servers

Additional Configuration

Building for Distribution

When distributing ACHCE Client to players:
# Build in Release mode for optimized performance
msbuild ACHCE_Cliente.sln /p:Configuration=Release /p:Platform="Any CPU"
The release build includes:
  • Optimized code execution
  • Smaller binary size
  • No debug symbols

Automatic Updates

Consider implementing an update mechanism:
  1. Host the latest version on your server
  2. Add version checking to the client
  3. Prompt users to download updates when available
Future versions of ACHCE Client may include automatic update functionality.

Build docs developers (and LLMs) love