Gluon
Background
This project was created for multiple reasons:
- further my knowledge in C programming (this is my first C project)
- maximize performance for a great server and client experience
- give server owners (even more) control over their servers, instead of third-parties ;)
Current Features
This is a standalone server. Some features may be limited in functionality, and some features will be expanded in the future.
- Maintainable server experience
- Logging
- Authentication / SSL / HTTPS / Secure connection
- Encryption
- Gameplay features
- Advancements
- Implementation
- Advancements' logic
- Boss Bars
- Commands
- Game Rules
- Implementatino
- Game Rules' logic
- Gamemodes
- Implementation
- Gamemodes' logic
- Materials
- Particles
- Implementation
- Permissions
- Scoreboards
- Implementation
- Scoreboard logic
- Sounds
- Implementation
- Statistics
- Implementation
- Statistics' logic
- Advancements
- Crafting
- Crafting logic
- Crafting Recipes
- Implementation
- Crafting Recipe logic
- Enchanting
- Enchantment Types
- Enchantments
- Implementation
- Enchantments' logic
- Entities
- Implementation
- Boundaries / Collision
- Implementation
- Collision logic
- Loot Tables
- Passengers / ridable
- Implementation
- Passengers' logic
- Pathfinding
- Events
- Hack detection
- Anti X-ray
- Speed / Velocity discrepancies
- Inventories
- Implementation
- Inventory Types
- Implementation
- Inventory Type logic
- Inventory logic
- Items
- Implementation
- Attack Cooldown
- Durability
- ItemMeta
- Stored Enchants
- Eatable
- Throwable
- NBT
- JSON
- Loot / treasure
- Plugins / Mods
- Implementation
- Enable / disable logic
- Potion Effects
- Implementation
- Potion Effect Types
- Potion Effects' logic
- Physics
- Gravity
- Block Gravity
- Entity Gravity
- Fall damage
- Liquids
- Gravity
- Structures
- Implementation
- Structure Generation
- Tick handling
- Dynamic tick rate
- Worlds
- Implementation
- Border
- Implementation
- Border logic
- Difficulties
- Location
- Seed randomizer
- Terrain Generation / Noise
- View distance
- Weather
- Saves to file
- Biomes
- Implementation
- Temperature and Rainfall
- Biome Generation
- Structures Generation
- Chunks
- Implementation
- ChunkData
- Chunk Generation
- Saves to file
- Blocks
- Implementation
- Boundaries / Collision
- Implementation
- Collision logic
- Block Entities
- Block Resistance (to explosions)
- Block Spawners
- BlockFace
- Command Blocks
- Passthrough-able
- Portals
- Preferred materials (that break the block)
- Pushable blocks (pistons)
- Redstone
- Communication with Client
- Gluon Client
- Minecraft Client
Future Development
I'm just one dude. PRs are welcome, and need to adhere to the coding style defined in X.txt
.
Gluon Philosophy
This server is to mimic the vanilla Minecraft experience in all aspects, supporting all versions and the same world generation. The only logic added that doesn't adhere to vanilla Minecraft should be performance and memory improvements OR third-party additions.
Financial support
There isn't a way to financially support this project at this time.
Dependencies
- a C JSON library (still researching a worthy implementation | may need to create a custom one)
- Other language contenders
- Python
- C++
- Other language contenders
Usage
- open terminal
- clone repo
- run
cd gluon-server
- run
bash _compile.sh
- run
bash _start.sh