Skip to content

FOUNDATION-AI-BASED/Hosting-Company

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hosting Company – Game Backend and CLI

Testing Phase of V3 now starts.

Version Change

Until major ui changes we will not leave version 3 for now!

Overview

This project implements a FastAPI backend and a menu-driven CLI to manage a hosting-company simulation game server on Ubuntu Linux.

Requirements

  • Ubuntu Linux LTS
  • Python 3.10 or newer

Setup

  • If missing, install system packages (root): sudo python3 gamectl.py sysdeps
  • Ensure pip is installed: sudo apt-get install -y python3-pip
  • python3 gamectl.py install
  • python3 gamectl.py start 8000
  • Open http://localhost:8000/health
  • Optional: set env vars APP_TICK_SECONDS, APP_SIM_ENABLED, APP_SECRET
  • Apply DB migrations: python3 gamectl.py migrate

CLI Usage

  • python3 gamectl.py menu opens the interactive menu.
  • python3 gamectl.py install installs dependencies in .venv.
  • python3 gamectl.py uninstall removes installed packages.
  • python3 gamectl.py start [port] starts the server and writes a PID file.
  • python3 gamectl.py stop stops a running server.
  • python3 gamectl.py status [port] checks process and HTTP health.

Logging

  • Server logs: logs/app.log
  • Process logs: logs/server.out.log, logs/server.err.log

API

See API.md.

Features

  • Dynamic Economy: Real-time hosting simulation with hardware cycles and customer lifecycle.
  • Advanced Server Builder: Visual drag-and-drop assembly with compatibility logic (CPU sockets, RAM slots, PCIe).
  • Distressed Asset Marketplace: Purchase bankrupt infrastructure (datacenters, servers, networks) at discount.
  • Specialized Datacenters: AI-focused (GPU-heavy), Web-focused, CDN, and Cloud-focused facilities.
  • Support & Ticketing: Full-featured support system with AI auto-responses powered by Ollama (gemma3:270m).
  • Service Management: Hosting/domain transfers, delinquency/recovery logic, and archiving plans.
  • Global Network: Manage multiple locations, ISPs, and ASN peering.

Known Limitations

  • The simulation engine is currently focused on backend state management; advanced real-time traffic visualizers are in development.
  • Authentication uses JWT tokens; basic player/admin/system roles are implemented.
  • Persistence is handled via SQLite with Alembic migrations.

Data Sources

  • psu_grades.csv
  • ram_types.csv
  • server_cpus.csv
  • server_gpus.csv
  • server_motherboards.csv
  • server_racks.csv
  • server_types.csv
  • backup_generators.csv

UI Images (Device/Component Pictures)

Product tiles and “Details & Buy” dialogs optionally render an image. Images are loaded from:

  • Base folder: /home/kali/hosting-company/ui/assets/
  • Product image folder: /home/kali/hosting-company/ui/assets/components/
  • Placeholder image (used when the product image is missing): /home/kali/hosting-company/ui/assets/placeholder.svg

Filename format

The UI constructs the filename from the product category + vendor + model:

{safe(category)}_{safe(vendor)}_{safe(model)}.png

Where safe(x) is:

  • Lowercased
  • Every character not in a-z or 0-9 becomes _

So the final path is:

ui/assets/components/{safe(category)}_{safe(vendor)}_{safe(model)}.png

Examples

  • Server:

    • Category: server
    • Vendor: Supermicro
    • Model: SYS-221H-TN24R
    • Filename: server_supermicro_sys_221h_tn24r.png
  • Rack:

    • Category: rack
    • Vendor: APC
    • Model: NetShelter SX 42U
    • Filename: rack_apc_netshelter_sx_42u.png
  • OS license:

    • Category: os_license
    • Vendor: Canonical
    • Model: Ubuntu Server 22.04 LTS
    • Filename: os_license_canonical_ubuntu_server_22_04_lts.png

Categories currently used by the shop UI

  • server, rack, cpu, gpu, ram, motherboard, psu, backup_generator, router, switch, ddos_gear, os_license

Generated filenames for all shop products

Below is the complete list of expected image filenames for every product currently in the shop catalog. Place PNG files with these exact names under:

  • ui/assets/components/

If an image is missing, the UI falls back to ui/assets/placeholder.svg.

backup_generator

  • backup_generator_atlas_copco_qes_100.png
  • backup_generator_caterpillar_c15_500kw.png
  • backup_generator_cummins_300kw_ng.png
  • backup_generator_cummins_c150d2.png
  • backup_generator_generac_150kw_ng.png
  • backup_generator_generac_sd080.png
  • backup_generator_kohler_kd70.png
  • backup_generator_mtu_16v2000_800kw.png

cpu

  • cpu_amd_epyc_7001__naples__32c_64t_sp3.png
  • cpu_amd_epyc_7002__rome__64c_128t_sp3.png
  • cpu_amd_epyc_7003__milan__64c_128t_sp3.png
  • cpu_amd_epyc_8004__siena__64c_128t_sp6.png
  • cpu_amd_epyc_9004__bergamo__128c_256t_sp5.png
  • cpu_amd_epyc_9004__genoa__96c_192t_sp5.png
  • cpu_ampere_altra_altra_80c_80t_proprietary_lga.png
  • cpu_ampere_altra_altra_max_128c_128t_proprietary_lga.png
  • cpu_intel_xeon_d_d_2100_series_18c_36t_bga__soc_.png
  • cpu_intel_xeon_e5_broadwell_ep__v4__22c_44t_lga2011_3.png
  • cpu_intel_xeon_e5_haswell_ep__v3__18c_36t_lga2011_3.png
  • cpu_intel_xeon_scalable_1st_gen__skylake_sp__28c_56t_lga3647.png
  • cpu_intel_xeon_scalable_2nd_gen__cascade_lake_sp__28c_56t_lga3647.png
  • cpu_intel_xeon_scalable_3rd_gen__ice_lake_sp__40c_80t_lga4189.png
  • cpu_intel_xeon_scalable_4th_gen__sapphire_rapids__56c_112t_lga4677.png
  • cpu_intel_xeon_scalable_5th_gen__emerald_rapids__64c_128t_lga4677.png

ddos_gear

  • ddos_gear_a10_thunder_tps_4435.png
  • ddos_gear_a10_thunder_tps_5440.png
  • ddos_gear_akamai_prolexic__on_prem_.png
  • ddos_gear_aws_aws_shield_advanced.png
  • ddos_gear_cloudflare_magic_transit__edge_.png
  • ddos_gear_corero_smartwall_tdd_1400.png
  • ddos_gear_corero_smartwall_tdd_2800.png
  • ddos_gear_f5_big_ip_afm.png
  • ddos_gear_f5_silverline_ddos_protection.png
  • ddos_gear_fastly_ddos_protection.png
  • ddos_gear_fortinet_fortiddos_1000f.png
  • ddos_gear_fortinet_fortiddos_3000f.png
  • ddos_gear_google_cloud_armor_enterprise.png
  • ddos_gear_imperva_ddos_protection.png
  • ddos_gear_microsoft_azure_ddos_protection.png
  • ddos_gear_netscout_arbor_tms_2600.png
  • ddos_gear_netscout_arbor_tms_2900.png
  • ddos_gear_ovhcloud_vac_anti_ddos.png
  • ddos_gear_qiniu_qiniu_anti_ddos.png
  • ddos_gear_radware_defensepro_1000.png
  • ddos_gear_radware_defensepro_8000.png
  • ddos_gear_tencent_cloud_anti_ddos_advanced.png

gpu

  • gpu_amd_instinct_mi100.png
  • gpu_amd_instinct_mi210.png
  • gpu_amd_instinct_mi250x.png
  • gpu_amd_instinct_mi300x.png
  • gpu_intel_data_center_gpu_max_1550.png
  • gpu_intel_flex_170.png
  • gpu_nvidia_a10.png
  • gpu_nvidia_a100_40gb.png
  • gpu_nvidia_a100_80gb_pcie.png
  • gpu_nvidia_a100_80gb_sxm4.png
  • gpu_nvidia_a40.png
  • gpu_nvidia_h100_80gb_pcie.png
  • gpu_nvidia_h100_80gb_sxm5.png
  • gpu_nvidia_l40.png
  • gpu_nvidia_t4.png
  • gpu_nvidia_v100_16gb.png
  • gpu_nvidia_v100_32gb_sxm2.png

motherboard

  • motherboard_dell_mx740c.png
  • motherboard_dell_mx760c.png
  • motherboard_dell_r260.png
  • motherboard_dell_r360.png
  • motherboard_dell_r470.png
  • motherboard_dell_r570.png
  • motherboard_dell_r660.png
  • motherboard_dell_r740.png
  • motherboard_dell_r760.png
  • motherboard_dell_r760xa.png
  • motherboard_dell_r7615.png
  • motherboard_dell_r7625.png
  • motherboard_dell_r860.png
  • motherboard_dell_r960.png
  • motherboard_dell_t160.png
  • motherboard_dell_t360.png
  • motherboard_dell_t560.png
  • motherboard_dell_xe8640.png
  • motherboard_dell_xe9680.png
  • motherboard_dell_xr5610.png
  • motherboard_dell_xr7620.png
  • motherboard_gigabyte_mz72_hb0.png
  • motherboard_gigabyte_mz73_lm1.png
  • motherboard_gigabyte_r272_ae0.png
  • motherboard_hpe_apollo_6000_gen10_plus.png
  • motherboard_hpe_bl460c_gen9.png
  • motherboard_hpe_dl325_gen11.png
  • motherboard_hpe_dl360_gen10.png
  • motherboard_hpe_dl360_gen11.png
  • motherboard_hpe_dl380_gen11.png
  • motherboard_hpe_dl385_gen11.png
  • motherboard_hpe_dl385_gen11__gpu_.png
  • motherboard_hpe_dl580_gen11.png
  • motherboard_hpe_ml350_gen11.png
  • motherboard_hpe_synergy_480_gen10.png
  • motherboard_supermicro_h11dsi.png
  • motherboard_supermicro_h12dsi.png
  • motherboard_supermicro_h13dei.png
  • motherboard_supermicro_h13si.png
  • motherboard_supermicro_x11dpi_nt.png
  • motherboard_supermicro_x11spa_tf.png
  • motherboard_supermicro_x12dpi_n6.png
  • motherboard_supermicro_x13dei_ln4.png

os_license

  • os_license_canonical_ubuntu_server_18_04_lts.png
  • os_license_canonical_ubuntu_server_20_04_lts.png
  • os_license_canonical_ubuntu_server_22_04_lts.png
  • os_license_microsoft_windows_server_2016_standard.png
  • os_license_microsoft_windows_server_2019_datacenter.png
  • os_license_microsoft_windows_server_2022_datacenter.png
  • os_license_oracle_oracle_linux_8.png
  • os_license_oracle_oracle_linux_9.png
  • os_license_red_hat_rhel_8.png
  • os_license_red_hat_rhel_9.png
  • os_license_suse_sles_15_sp4.png
  • os_license_vmware_vsphere_7_essentials_plus.png
  • os_license_vmware_vsphere_8_enterprise_plus.png
  • os_license_vmware_vsphere_hypervisor_free.png

psu

  • psu_apc_smart_ups_10kva_rackmount.png
  • psu_dell_1100w_platinum.png
  • psu_dell_1600w_platinum.png
  • psu_generic_80_plus_bronze_650w.png
  • psu_generic_80_plus_bronze_850w.png
  • psu_generic_80_plus_gold_1000w.png
  • psu_generic_80_plus_gold_1200w.png
  • psu_generic_80_plus_gold_1500w.png
  • psu_generic_80_plus_gold_750w.png
  • psu_generic_80_plus_platinum_1000w.png
  • psu_generic_80_plus_platinum_1500w.png
  • psu_generic_80_plus_platinum_2000w.png
  • psu_generic_80_plus_platinum_750w.png
  • psu_generic_80_plus_silver_1000w.png
  • psu_generic_80_plus_silver_1200w.png
  • psu_generic_80_plus_silver_300w.png
  • psu_generic_80_plus_silver_650w.png
  • psu_generic_80_plus_titanium_1750w.png
  • psu_generic_80_plus_titanium_3000w.png
  • psu_generic_80_plus_titanium_500w.png

rack

  • rack_apc_netshelter_sx.png
  • rack_dell_4220.png
  • rack_generic_open_frame_2_post.png
  • rack_generic_open_frame_4_post.png
  • rack_generic_standard_42u_rack.png
  • rack_hpe_rack_g2_600mm.png
  • rack_supermicro_42u_rack.png

ram

  • ram_generic_ddr4_ecc_128gb_3200mt_s.png
  • ram_generic_ddr4_ecc_16gb_3200mt_s.png
  • ram_generic_ddr4_ecc_32gb_3200mt_s.png
  • ram_generic_ddr4_ecc_4gb_2666mt_s.png
  • ram_generic_ddr4_ecc_64gb_3200mt_s.png
  • ram_generic_ddr4_ecc_8gb_2933mt_s.png
  • ram_generic_ddr5_ecc_1024gb_5600mt_s.png
  • ram_generic_ddr5_ecc_256gb_5600mt_s.png
  • ram_generic_ddr5_ecc_512gb_5600mt_s.png

router

  • router_arista_7280r3.png
  • router_arista_7504r.png
  • router_cisco_asr_1001_x.png
  • router_cisco_asr_1002_x.png
  • router_cisco_asr_9001.png
  • router_cisco_asr_9901.png
  • router_cisco_ncs_540.png
  • router_cisco_ncs_5501_se.png
  • router_cisco_ncs_560.png
  • router_fortinet_fortigate_2000f.png
  • router_huawei_ne40e_x8a.png
  • router_huawei_ne8000_m8.png
  • router_juniper_mx10003.png
  • router_juniper_mx204.png
  • router_juniper_mx304.png
  • router_juniper_mx480.png
  • router_juniper_ptx10002_36qdd.png
  • router_juniper_ptx10004.png
  • router_mikrotik_ccr2216_1g_12xs_2xq.png
  • router_nokia_7250_ixr_6.png
  • router_nokia_7750_sr_1.png
  • router_nokia_7750_sr_2.png
  • router_ubiquiti_uisp_router_pro.png

server

  • server_dell_mx740c.png
  • server_dell_mx760c.png
  • server_dell_poweredge_r740.png
  • server_dell_r660.png
  • server_dell_r760.png
  • server_dell_r760xa.png
  • server_dell_r7615.png
  • server_dell_r7625.png
  • server_dell_r860.png
  • server_dell_r960.png
  • server_dell_xe8640.png
  • server_dell_xe9680.png
  • server_dell_xr5610.png
  • server_dell_xr7620.png
  • server_gigabyte_mz73_lm1_rack.png
  • server_gigabyte_r272_ae0.png
  • server_hpe_apollo_6000_gen10_plus.png
  • server_hpe_bl460c_gen9.png
  • server_hpe_dl325_gen11.png
  • server_hpe_dl360_gen10.png
  • server_hpe_dl360_gen11.png
  • server_hpe_dl380_gen11.png
  • server_hpe_dl385_gen11.png
  • server_hpe_dl580_gen11.png
  • server_hpe_ml350_gen11.png
  • server_hpe_proliant_dl380_gen10.png
  • server_hpe_synergy_480_gen10.png
  • server_supermicro_h12_2p_rack.png
  • server_supermicro_h13_2p_rack.png
  • server_supermicro_superserver_1029p.png
  • server_supermicro_x11_2p_rack.png
  • server_supermicro_x12_2p_rack.png
  • server_supermicro_x13_2p_rack.png

server_chassis

  • server_chassis_dell_mx740c.png
  • server_chassis_dell_mx760c.png
  • server_chassis_dell_r660.png
  • server_chassis_dell_r760.png
  • server_chassis_dell_r760xa.png
  • server_chassis_dell_r7615.png
  • server_chassis_dell_r7625.png
  • server_chassis_dell_r860.png
  • server_chassis_dell_r960.png
  • server_chassis_dell_xe8640.png
  • server_chassis_dell_xe9680.png
  • server_chassis_dell_xr5610.png
  • server_chassis_dell_xr7620.png
  • server_chassis_gigabyte_mz73_lm1_rack.png
  • server_chassis_gigabyte_r272_ae0.png
  • server_chassis_hpe_apollo_6000_gen10_plus.png
  • server_chassis_hpe_bl460c_gen9.png
  • server_chassis_hpe_dl325_gen11.png
  • server_chassis_hpe_dl360_gen10.png
  • server_chassis_hpe_dl360_gen11.png
  • server_chassis_hpe_dl380_gen11.png
  • server_chassis_hpe_dl385_gen11.png
  • server_chassis_hpe_dl580_gen11.png
  • server_chassis_hpe_ml350_gen11.png
  • server_chassis_hpe_synergy_480_gen10.png
  • server_chassis_supermicro_h12_2p_rack.png
  • server_chassis_supermicro_h13_2p_rack.png
  • server_chassis_supermicro_x11_2p_rack.png
  • server_chassis_supermicro_x12_2p_rack.png
  • server_chassis_supermicro_x13_2p_rack.png

server_used

  • server_used_dell_r720.png
  • server_used_dell_r720xd.png
  • server_used_dell_r730.png
  • server_used_dell_r730xd.png
  • server_used_gigabyte_g481_s80.png
  • server_used_nvidia_dgx_1.png
  • server_used_supermicro_4029gp_trt.png

switch

  • switch_arista_7050x3.png
  • switch_arista_7060cx_32s.png
  • switch_arista_7060dx5_64s.png
  • switch_arista_7060x5.png
  • switch_cisco_catalyst_9500_48y4c.png
  • switch_cisco_nexus_9236c.png
  • switch_cisco_nexus_93180yc_fx.png
  • switch_cisco_nexus_93180yc_fx3.png
  • switch_cisco_nexus_9336c_fx2.png
  • switch_cisco_nexus_9364c.png
  • switch_dell_powerswitch_s5232f_on.png
  • switch_dell_powerswitch_s5248f_on.png
  • switch_dell_powerswitch_z9664f_on.png
  • switch_extreme_networks_slx_9740.png
  • switch_hpe_aruba_cx_8325_48y8c.png
  • switch_hpe_aruba_cx_8400.png
  • switch_hpe_aruba_cx_9300.png
  • switch_juniper_qfx10008.png
  • switch_juniper_qfx5120_48y.png
  • switch_juniper_qfx5220_32cd.png
  • switch_netgear_m4300_96x.png
  • switch_nvidia_mellanox_sn3700.png
  • switch_nvidia_mellanox_sn4600.png
  • switch_ubiquiti_unifi_switch_enterprise_xg_24.png

Permissions

  • Use non-privileged ports (>=1024) when not running as root.

Testing

  • On a clean Ubuntu system:
    • Install Python 3.10+.
    • Run sudo python3 gamectl.py sysdeps if python3-venv is missing.
    • Run sudo apt-get install -y python3-pip if pip is missing.
    • Run python3 gamectl.py install.
    • Start with python3 gamectl.py start 8000.
    • Verify GET /health and GET /hardware/datasets.
    • Verify gameplay: create a company and request a loan.
    • Verify auth: POST /auth/signup, then call gameplay endpoints with Authorization: Bearer <token>.
    • Run python3 gamectl.py migrate before using DB-backed endpoints in production.

Systemd

  • Copy deploy/systemd/hosting_game.service to /etc/systemd/system/.
  • sudo systemctl daemon-reload
  • sudo systemctl enable hosting_game
  • sudo systemctl start hosting_game
  • Logs via journalctl -u hosting_game -f

About

This game is supposed to get you as close as possible to be a real webhosting company.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors