Releases: Far-Beyond-Dev/Horizon
0.13.0
What's Changed
- Update main.yml by @tristanpoland in #192
- Update main.yml by @tristanpoland in #193
- Update main.yml by @tristanpoland in #194
- Bump version 0.13.0 by @tristanpoland in #196
- Working towards 0.13.0 by @tristanpoland @haywoodspartan @SafeShows in #195
- Rebase by @tristanpoland in #205
- Moving plugins to there own repo by @tristanpoland in #206
- Refactor: Restructure Docker Configuration and Compose Setup by @tristanpoland in #203
- Feat: Implement Native Custom Data Type Support for Plugins by @tristanpoland @Caznix in #201
- Feat: Integrate PebbleVault API into Core Server by @tristanpoland @Caznix @Tuafo in #197
- Feat: Migrate Players System to Modular Plugin Architecture by @tristanpoland in #200
- Backends api by @tristanpoland in #208
- Update main.rs by @tristanpoland in #210
- Cleaned up most warnings by @tristanpoland in #211
- Update main.rs by @tristanpoland in #213
- Update the link plugin branch to the latest plugin API by @tristanpoland in #214
- Updated Logging on build scripts by @tristanpoland in #215
- Brought branch up to date by @tristanpoland in #216
- Perf: Implement Dynamic Channel-Based Socket Streaming for Infinite Worlds by @tristanpoland @Caznix @CollinCypret @haywoodspartan @SafeShows in #199
- Merge branch 'main' into feature/dynamic-socket-channels by @tristanpoland in #217
- Feat: Add Customizable Server Communication Framework via Link Plugins by @tristanpoland @Caznix @CollinCypret @SafeShows in #202
Full Changelog: v...0.13.0
Horizon Community Edition 0.12.0
What's Changed
- Core and api expansion by @tristanpoland in #161
- Added the player joined event to on_connect in Horizon by @tristanpoland in #177
- Plugins can now register socket listeners via
PlayerJoined(player)
🎉 by @tristanpoland in #178 - Api bug patch by @tristanpoland in #180
- Update mod.rs by @tristanpoland in #179
- WIP: Threading and Plugin System Rewrite by @tristanpoland in #182
- Added util macros to plugin API by @tristanpoland in #181
- Made plugins init for pool instead of each player by @tristanpoland in #183
- Code docs by @tristanpoland in #184
Full Changelog: 0.0.11...0.12.0
Horizon Community Edition 0.0.11
Installation
Simply download the binary for your platform and place it in a folder with the unzipped plugins folder. run the binary as a program and the server will start
What's Changed
- Fixed panic by @tristanpoland in #157
- Expanding the horizon plugin api (again...) by @tristanpoland in #158
- Pebble vault improvements by @Tuafo in #159
- Move dependencies from Git submodules to Cargo.toml using GitHub repo by @bp7968h in #160
- Update README.md by @tristanpoland in #162
- New PebbleVault call by @Tuafo in #163
- line endings are soooo dumb by @tristanpoland in #165
- Update README.md by @tristanpoland in #166
- arch linux dependencies by @WilliamAnimate in #167
- Horizon: the
README.md and stuff
update by @XDRwastaken in #174
New Contributors
Full Changelog: 0.0.10...0.0.11
Horizon Community Edition 0.0.10
-
Refactoring and Platform-Specific Optimizations:
- MiMalloc compilation is now limited to Linux platforms, optimizing the build process for different operating systems. (PR #138 by @WilliamAnimate)
-
Documentation Updates:
- Multiple README.md updates to improve project documentation and user guidance. (PRs #140, #147, #148, #149 by @tristanpoland)
-
Plugin System Development:
- Introduction of a compile-time plugin system that can also work at runtime (Experimental stage) for both performance and ease-of-use, enhancing the extensibility of Horizon. (PR #142 by @tristanpoland)
- Expansion of the Horizon plugin API, providing more capabilities for plugin developers. (PR #146 by @tristanpoland)
- Removal of unnecessary code from plugin_manager.rs, streamlining the plugin management system. (PR #145 by @tristanpoland)
-
PebbleVault Improvements:
- Major update to PebbleVault, likely including performance enhancements and feature additions. (PR #151 by @tristanpoland)
- Further improvements to PebbleVault, focusing on reliability and functionality. (PR #154 by @tristanpoland)
-
Build Process and CI/CD:
- Re-enabling of the Windows GitHub Action job, improving cross-platform development and testing capabilities. (PR #143 by @tristanpoland)
-
Codebase Restructuring:
- Removal of the structs.rs file and migration to the horizon_data_types crate, indicating a significant architectural change. (Mentioned in Other Highlights)
-
Cross-Platform Development:
- Fixed Windows compilation issues for PebbleVault, improving cross-platform compatibility. (@tristanpoland and @haywoodspartan)
-
Language Migration and Optimization:
- Complete rewrite of PebbleVault from Go to Rust, led by @Tuafo. This change promises:
- Faster compilation process
- Easier setup
- More concise codebase
- Improved code readability and maintainability
- Complete rewrite of PebbleVault from Go to Rust, led by @Tuafo. This change promises:
-
Collaborative Plugin API Development:
- @tristanpoland, @WilliamAnimate, and @haywoodspartan collaborated on designing and implementing an alpha-state plugin API, setting the foundation for future extensibility of Horizon.
🔧 Build from source
Prerequisites
Before installing Horizon, ensure that you have the following prerequisites:
- Docker installed on your system.
- Git for cloning the Horizon repository.
- Basic understanding of Docker and containerized applications.
Installation Steps
-
Clone the Horizon repository from GitHub:
git clone https://github.com/AstroVerse-Studios/Horizon.git
-
Navigate to the project directory:
cd Horizon
-
optionally enter WSL or open the project in a VSCode Devcontainer if you prefer these
wsl
-
Run the following to install deps
Debian (Or the DevContainer)
sudo apt-get update && sudo apt-get install -y clang libsqlite3-dev libssl-dev golang curl libclang-dev curl gcc-multilib
Alpine
sudo apk update && sudo apk add clang sqlite-dev openssl-dev build-base go rustup curl libclang gcc-multilib curl
Windows
- No need to install anything
-
Install Rust (https://www.rust-lang.org/tools/install)
-
Use cargo to compile and run Horizon
cargo run
-- or build a binary release --
cargo build --release
Horizon Community Edition 0.0.9
What's Changed
- Moved player related events out of main.rs by @tristanpoland in #113
- Update main.rs by @tristanpoland in #116
- fix: #114's compile errors by @WilliamAnimate in #117
- WIP Changes to fix player rotation when syncing animations and rotation by @tristanpoland in #118
- Update README.md by @tristanpoland in #119
- Added enterprise vs community by @tristanpoland in #120
- Update README.md by @tristanpoland in #121
- Create pull_request_template.md. by @IchoTM in #123
- Update README.md by @tristanpoland in #122
- Removed a period at the end of the pull_request_template.md file by @IchoTM in #124
- Updated PV GOLang Version by @tristanpoland in #126
- Updated comments by @GhostedGaming in #128
- Update installers-ubuntu.sh by @tristanpoland in #129
- Updated core subsystem to have access to the players Vec from main.rs by @tristanpoland in #130
- Trying to test recipe smith by @GhostedGaming in #127
- Recipiesmithfix by @tristanpoland in #131
- Update core by @tristanpoland in #132
- 134 bug recipesmith thread panics at runtime due to multithreading error by @tristanpoland in #135
- Update README.md by @tristanpoland in #136
New Contributors
- @IchoTM made their first contribution in #123
- @GhostedGaming made their first contribution in #128
Full Changelog: 0.0.8...0.0.9
Horizon Community Edition 0.0.8
What's Changed
- updated docker files by @tristanpoland in #100
- Create release-binaries.yml by @tristanpoland in #98
- Added new player locations system with strings by @tristanpoland in #101
- Delete installers.sh by @tristanpoland in #102
- Update .gitignore by @tristanpoland in #104
- Delete voronoi_edges.txt by @tristanpoland in #105
- Cleaned up bad actions by @tristanpoland in #107
- Update SECURITY.md by @tristanpoland in #108
- Update CONTRIBUTING.md by @tristanpoland in #110
- Added a few features to allow for motion matching replication by @tristanpoland in #103
- Updated JSON parse after merge by @tristanpoland in #111
Full Changelog: 0.0.7...0.0.8
Horizon Community Edition 0.0.7
What's Changed
- Pebblevault orm by @tristanpoland in #89
- fixed build errors by @tristanpoland in #95
- Update SECURITY.md by @tristanpoland in #94
- Recipe smith subsystem moved to git submodule by @tristanpoland in #96
Full Changelog: 0.0.6-b...0.0.7
Horizon Community Edition 0.0.6-b (Security Update)
What's Changed
- build: remove useless build.rs file by @WilliamAnimate in #91
- Bump openssl from 0.10.64 to 0.10.66 in the cargo group across 1 directory by @dependabot in #92
New Contributors
- @dependabot made their first contribution in #92
Full Changelog: 0.0.6-a...0.0.6-b
Installation (Linux)
To install and run Horizon Game Server on Linux, follow these steps:
Prerequisites
- Rust (version X.X.X)
- [List any other dependencies or tools here]
Installation Steps
-
Clone the repository:
git clone https://github.com/Stars-Beyond/Horizon-Community-Edition cd Horizon-Community-Edition
-
Build the server:
cargo build --release
-
Run the server:
./target/release/horizon
Note for Other Platforms
Horizon Game Server is currently supported on Linux only. For other platforms (Windows, macOS), you can run the server using Docker. Make sure you have Docker installed and use the provided docker-compose.yml
to build and run the server image.
Horizon Community Edition 0.0.6-a
What's Changed
- Update Horizon-Publish.yml by @tristanpoland in #20
- Update Horizon-Publish.yml by @tristanpoland in #21
- Update Horizon-Publish.yml by @tristanpoland in #22
- Update Horizon-Publish.yml by @tristanpoland in #23
- Update Horizon-Publish.yml by @tristanpoland in #24
- Update Horizon-Publish.yml by @tristanpoland in #26
- Update Horizon-Publish.yml by @tristanpoland in #27
- Added diagram, added planet generation system by @tristanpoland in #32
- Generate Spheres for planets by @tristanpoland in #33
- Modules added, Main.rs cleaned up, Additional comments added to files, Terrain generation can now be done server-side, README expanded, additional repo files added by @tristanpoland in #34
- Create LICENSE by @tristanpoland in #35
- fix deprecation in pebblevault by @WilliamAnimate in #36
- silence u128 non ffi safe warnings by @WilliamAnimate in #37
- Tristanpoland patch 2 by @tristanpoland in #39
- remove boilerplate from macros.rs by @WilliamAnimate in #40
- Update README.md by @tristanpoland in #41
- Update Horizon-Publish.yml by @tristanpoland in #43
- Horizon objects Part One, The Basics by @tristanpoland in #38
- chore: instruct rustc to build a better binary by @WilliamAnimate in #46
- Planet generation by @tristanpoland in #57
- 64 set up pgobolt for 10 20 perf improvements by @Tuafo in #66
- Added Recipe Smith Subsystem as Found in Issues/Help Wanted Git Forum by @gamedev44 in #65
- Updated PV by @tristanpoland in #67
- Update Horizon-Publish.yml by @tristanpoland in #69
- Update readme by @tristanpoland in #70
- Update README.md by @tristanpoland in #71
- Re structuring subsystems by @tristanpoland in #72
- added readme docs for the new module and how it works as well as impr… by @gamedev44 in #74
- Update core subsystem by @tristanpoland in #73
- build: remove unused jemalloc dep by @WilliamAnimate in #82
- update RecipeSmith File Structure by @tristanpoland in #77
- Update SECURITY.md by @tristanpoland in #76
- Update README.md by @tristanpoland in #75
- added points and edges sample files by @tristanpoland in #79
- Update PebbleVault by @Tuafo in #84
- Updated go branch by @tristanpoland in #83
- Update README.md by @tristanpoland in #86
- Updated sample subsystem and docker compose file by @tristanpoland in #87
- Macro fix temp by @tristanpoland in #88
New Contributors
- @Tuafo made their first contribution in #66
- @gamedev44 made their first contribution in #65
Full Changelog: 0.0.3...0.0.6
Installation (Linux)
To install and run Horizon Game Server on Linux, follow these steps:
Prerequisites
- Rust (version X.X.X)
- [List any other dependencies or tools here]
Installation Steps
-
Clone the repository:
git clone https://github.com/Stars-Beyond/Horizon-Community-Edition cd Horizon-Community-Edition
-
Build the server:
cargo build --release
-
Run the server:
./target/release/horizon
Note for Other Platforms
Horizon Game Server is currently supported on Linux only. For other platforms (Windows, macOS), you can run the server using Docker. Make sure you have Docker installed and use the provided docker-compose.yml
to build and run the server image.
Horizon Community Edition 0.0.5-a
What's Changed
- fix deprecation in pebblevault by @WilliamAnimate in #36
- silence u128 non ffi safe warnings by @WilliamAnimate in #37
- Tristanpoland patch 2 by @tristanpoland in #39
- remove boilerplate from macros.rs by @WilliamAnimate in #40
- Update Horizon-Publish.yml by @tristanpoland in #43
- Horizon objects Part One, The Basics by @tristanpoland in #38
- chore: instruct rustc to build a better binary by @WilliamAnimate in #46
- Planet generation by @tristanpoland in #57
- 64 set up pgobolt for 10 20 perf improvements by @Tuafo in #66
- Added Recipe Smith Subsystem as Found in Issues/Help Wanted Git Forum by @gamedev44 in #65
New Contributors
- @Tuafo made their first contribution in #66
- @gamedev44 made their first contribution in #65
Full Changelog: 0.0.4-a...0.0.5-a