Skip to content

Nisanurdogan38618/MatrixNet-The-Operator-s-Console

Repository files navigation

MatrixNet: The Operator's Console

📖 Project Overview

MatrixNet is a graph-based simulation engine developed in Java for the Resistance to design and analyze covert networks inside the Matrix. As the "Chief Architect," this system manages Hosts (nodes) and Backdoor Tunnels (edges) to facilitate secure communication while avoiding Agent detection.

The project focuses on advanced Graph Theory algorithms, including multi-objective pathfinding, network connectivity analysis, and vulnerability detection (articulation points & bridges).

🚀 Key Features

1. Network Management (Type 1)

  • Spawn Hosts: Create secure access points (Nodes) with specific clearance levels.
  • Link Backdoors: Establish bidirectional tunnels (Edges) with defined Latency, Bandwidth, and Firewall properties.
  • Seal/Unseal: Dynamically toggle the availability of tunnels to simulate Agent interference.

2. Covert Routing (Type 2)

  • Multi-Objective Optimization: Finds the optimal route for operatives based on a strict priority hierarchy:
    1. Lowest Dynamic Latency: Calculates effective latency considering a "Congestion Factor" ($\lambda$).
    2. Fewest Hops: Minimizes the number of segments.
    3. Lexicographical Order: Tie-breaking based on Host IDs.
  • Constraints: Routes must adhere to minimum bandwidth requirements and per-hop firewall clearance levels.

3. Structural Analysis (Type 3)

  • Breach Simulation:
    • Articulation Points: Detects if removing a specific Host fragments the network.
    • Bridges: Detects if removing a specific Backdoor disconnects the graph.
  • Oracle Report: Generates comprehensive topology statistics, including connected components, cycle detection, and average network metrics.

🛠️ Technical Details

  • Language: Java
  • Core Concepts: Graph Traversal (BFS/DFS), Shortest Path Algorithms (Dijkstra adaptation), Tarjan's Algorithm (or similar DFS-based logic for cut vertices/bridges).
  • Constraints:
    • Custom Data Structures: No built-in Java Collections allowed (except ArrayList and LinkedList).
    • Performance: Optimized to handle large-scale graphs (~100,000 Hosts, ~500,000 Backdoors) within strict time limits (5-30 seconds).

💻 How to Run

  1. Clone the repository:
    git clone <repository-url>
  2. Navigate to the source folder:
    cd src
  3. Compile the project:
    javac *.java
  4. Run the simulation with input/output files:
    java Main input.txt output.txt

📂 Input/Output Format

The system processes a stream of console commands from an input file:

  • spawn_host <id> <clearance>
  • link_backdoor <id1> <id2> <latency> <bandwidth> <firewall>
  • trace_route <id1> <id2> <bandwidth> <congestion_lambda>
  • simulate_breach <id> (Host or Backdoor)
  • oracle_report

This project was developed as part of the CmpE 250 Data Structures and Algorithms course (Fall 2025).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages