Skip to content

Commit

Permalink
Merge pull request #174 from XDRwastaken/ZigIsBetter
Browse files Browse the repository at this point in the history
Horizon: the `README.md and stuff` update
  • Loading branch information
tristanpoland authored Oct 24, 2024
2 parents 7fe3261 + 19a8cc9 commit 845d8eb
Show file tree
Hide file tree
Showing 10 changed files with 54 additions and 105 deletions.
7 changes: 7 additions & 0 deletions .zed/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"soft_wrap": "editor_width",
"telemetry": {
"diagnostics": false,
"metrics": false // Good telemetry but eh..
}
}
75 changes: 26 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,23 @@
> [!WARNING]
> Horizon is still in early development and is not meant to be used in any production environments.
> [!NOTE]
> [!NOTE]
> Our installation methods have recently changed, please review them if you are experiencing difficulty with the installation process
<div align="center">

![horizon-server-high-resolution-logo-transparent](/branding/horizon-server-high-resolution-logo-transparent.png)
<center>
<p style="text-align: center;" align="center">
<img src="https://github.com/Stars-Beyond/Horizon-Community-Edition/actions/workflows/rust.yml/badge.svg" alt="Build">
<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FFar-Beyond-Dev%2FHorizon-Community-Edition&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=Visits&edge_flat=false"/></a>
<img src="https://img.shields.io/github/repo-size/Stars-Beyond/Horizon-Community-Edition" alt="Size">
<img src="https://img.shields.io/website?url=https%3A%2F%2Fstars-beyond.com%2F" alt="Website">
<img src="https://img.shields.io/github/license/Stars-Beyond/Horizon-Community-Edition" alt="GitHub License">
<img src="https://img.shields.io/github/discussions/Stars-Beyond/Horizon-Community-Edition" alt="GitHub Discussions">
<img src="https://img.shields.io/github/sponsors/Far-Beyond-Dev" alt="GitHub Sponsors">
<img src="https://img.shields.io/github/forks/Stars-Beyond/Horizon-Community-Edition" alt="GitHub forks">
<img src="https://img.shields.io/github/stars/Stars-Beyond/Horizon-Community-Edition" alt="GitHub Repo stars">
</p>
</center>

## Join Discord
[Far Beyond LLC Discrord](https://discord.gg/NM4awJWGWu)

[![Discord](https://img.shields.io/discord/538264063956877312?label=discord)](https://discord.gg/NM4awJWGWu)
[![GitHub Actions](https://img.shields.io/github/actions/workflow/status/Far-Beyond-Dev/Horizon-Community-Edition/main.yml)](https://github.com/Far-Beyond-Dev/Horizon-Community-Edition/actions)
[![License](https://img.shields.io/badge/License-Apache--2.0-green.svg)](https://github.com/Far-Beyond-Dev/Horizon-Community-Edition/blob/main/LICENSE)
![Visits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FFar-Beyond-Dev%2FHorizon-Community-Edition&count_bg=%2379C83D&title_bg=%23555555&icon_color=%23E7E7E7&title=Visits)
![Repo Size](https://img.shields.io/github/repo-size/Stars-Beyond/Horizon-Community-Edition)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/Far-Beyond-Dev)](https://github.com/sponsors/Far-Beyond-Dev)
[![Website](https://img.shields.io/website?url=https%3A%2F%2Fstars-beyond.com%2F)](https://horizon.farbeyond.dev) <!-- can i make them flat? -->

An easily scalable game server implemented in Rust, and compatible with many popular game engines
</div>

## Table Of Contents

Expand Down Expand Up @@ -56,7 +53,7 @@

<h1 align="center" id='introduction'> 🚀 Introduction </h1>

Horizon is a custom game server software designed to facilitate seamless interaction between Unreal Engine 5 (UE5) and client applications through socket.io. It provides a scalable and customizable solution for hosting multiplayer games and managing real-time communication between players and a limitless number of game servers or "Hosts".
Horizon is a custom game server software designed to facilitate seamless interaction between Unreal Engine 5 (UE5) and client applications through [socket.io](https://socket.io). It provides a scalable and customizable solution for hosting multiplayer games and managing real-time communication between players and a limitless number of game servers or "Hosts".

## Synchronized Game Server Architecture

Expand All @@ -80,8 +77,6 @@ In the Community Edition, Horizon utilizes a peer-to-peer model for synchronizin
- Lower operational complexity, ideal for smaller deployments or community-driven projects.
- Efficient resource utilization across all participating servers.

---

### 2. Parent-Child-Master Architecture (Enterprise Edition)

For larger-scale deployments and enterprise use cases, Horizon offers an advanced Parent-Child-Master architecture. This model provides enhanced control, scalability, and management capabilities.
Expand All @@ -94,16 +89,18 @@ For larger-scale deployments and enterprise use cases, Horizon offers an advance

This hierarchical structure allows for more sophisticated load balancing, fault tolerance, and centralized management as well as limitless scalability.

![Diagram](https://github.com/user-attachments/assets/96bdd2a1-e17a-44a2-b07b-04eacbdec4eb)
(Server PNG By FreePik)
![diagram](/diagrams/96bdd2a1-e17a-44a2-b07b-04eacbdec4eb.png) <!-- gimme a better name! --> <!-- make the images local -->
<p align="center">Server image was created by Freepik</p>

#### Benefits

- Highly scalable architecture suitable for massive multiplayer environments.
- Advanced load balancing and resource allocation capabilities.
- Centralized monitoring and management through the Master node.
- Enhanced fault tolerance and redundancy options.

---

### Choosing the Right Architecture

- The Peer-to-Peer model (Community Edition) is ideal for smaller projects, community servers, or deployments that prioritize simplicity and decentralization.
Expand Down Expand Up @@ -147,7 +144,6 @@ Servers are organized into a grid-based region map, where each region correspond

</br>

---
<h1 align="center" id='installation'> 🔧 Installation </h1>


Expand All @@ -164,59 +160,47 @@ Before installing Horizon, ensure that you have the following prerequisites:
1. Clone the Horizon repository from GitHub:

```bash
git clone https://github.com/AstroVerse-Studios/Horizon.git
git clone https://github.com/Far-Beyond-Dev/Horizon-Community-Edition.git
```
![image](https://github.com/user-attachments/assets/e48ce2eb-28f6-44aa-800c-7c0b7c79eb94)


2. Navigate to the project directory:

```bash
cd Horizon
cd Horizon-Community-Edition/
```
![image](https://github.com/user-attachments/assets/4a186d60-3da6-44b1-8e4c-c21c23360dd7)


3. enter WSL or open the project in a [VSCode Devcontainer](https://code.visualstudio.com/docs/devcontainers/containers#_open-an-existing-workspace-in-a-container)
3. Enter WSL or open the project in a [VSCode Devcontainer](https://code.visualstudio.com/docs/devcontainers/containers#_open-an-existing-workspace-in-a-container)

```bash
wsl
```

4. Run the following to install deps
4. Run the following command to install the dependencies, this script only works with Ubuntu, Arch & Alpine Linux

Debian (Or the DevContainer)
```bash
./installers-deb.sh
./installer-linux.sh
```
![image](https://github.com/user-attachments/assets/74a91770-25f8-43fc-97f3-202136b46250)

Alpine
```bash
./installers-alpine.sh
```

Arch Linux
```bash
./installers-arch.sh
```

5. Use cargo to compile and run Horizon
6. Use cargo to compile and run Horizon

```bash
cargo run
```
![image](https://github.com/user-attachments/assets/aacdec93-88ff-4d51-a206-96b9d6a316eb)


6. Follow the prompts to configure any necessary settings in the `server-config.json` file.
7. Follow the prompts to configure any necessary settings in the `server-config.json` file.

For more detailed instructions and troubleshooting tips, refer to the [Installation Guide](installation.md).


</br>

---
<h1 align="center" id='configuration'> ⚙️ Configuration </h1>


Expand All @@ -232,7 +216,6 @@ To customize Horizon for your specific needs, modify these files according to yo

</br>

---
<h1 align="center" id='usage'> 📈 Usage </h1>


Expand All @@ -258,7 +241,6 @@ For more usage instructions and advanced features, see the [Usage Guide](usage.m

</br>

---
<h1 align="center" id='development'> 💻 Development </h1>


Expand Down Expand Up @@ -290,7 +272,6 @@ For detailed development instructions and guidelines, refer to the [Development
</br>
---
<h1 align="center" id='additional-resources'> 📚 Additional Resources </h1>
Expand All @@ -309,7 +290,6 @@ For more resources and helpful links, visit the [Additional Resources section](r
</br>
---
<h1 align="center" id='troubleshooting'> 🐞 Troubleshooting </h1>
Expand All @@ -324,14 +304,11 @@ For troubleshooting tips and solutions to common problems, consult the [Troubles
</br>
---
<h1 align="center" id='stargazers'> 🌟 Stargazers </h1>
<a href="https://github.com/Stars-Beyond/Horizon-Community-Edition/stargazers/">
<picture>
<source media="(prefers-color-scheme: light)" srcset="http://reporoster.com/stars/Stars-Beyond/Horizon-Community-Edition">
<img alt="stargazer-widget" src="https://reporoster.com/stars/dark/Far-Beyond-Dev/Horizon-Community-Edition">
</picture>
</a>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions installer-linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
if command -v apt-get >/dev/null 2>&1; then
echo "Ubuntu Detected"
sudo apt-get update
sudo apt-get install clang libsqlite3-dev libssl-dev build-essentials rustup libclang-dev gcc-multilib libsqlite3-dev libclang-dev -y
rustup toolchain install stable
elif command -v pacman >/dev/null 2>&1; then
echo "Arch Linux Detected"
sudo pacman -Syu rustup clang sqlite openssl clang gcc-multilib --needed
rustup toolchain install stable
elif command -v apk >/dev/null 2>&1; then
echo "Alpine Linux Detected"
sudo apk update
sudo apk add clang sqlite-dev openssl-dev build-base rustup curl libclang gcc-multilib
rustup toolchain install stable
else
echo "Unsupported package manager"
exit 1
fi

echo "Installation complete!"
4 changes: 0 additions & 4 deletions installers-alpine.sh

This file was deleted.

8 changes: 0 additions & 8 deletions installers-arch.sh

This file was deleted.

4 changes: 0 additions & 4 deletions installers-deb.sh

This file was deleted.

4 changes: 0 additions & 4 deletions installers-ubuntu.sh

This file was deleted.

14 changes: 0 additions & 14 deletions release.sh

This file was deleted.

22 changes: 0 additions & 22 deletions setup.sh

This file was deleted.

0 comments on commit 845d8eb

Please sign in to comment.