update readme and license

This commit is contained in:
2026-04-07 22:22:22 -05:00
parent bac8ed6af9
commit 7852890463
2 changed files with 141 additions and 624 deletions

View File

@@ -1,107 +1,66 @@
# SessionZero Client
A free and open-source TTRPG companion app for managing tabletop role-playing games with complete flexibility and control over your data.
An open-source TTRPG companion app for managing and playing tabletop role-playing games.
## About
SessionZero is a cross-platform desktop application built with Godot that helps players and GMs organize their TTRPG sessions. It's designed to be system-agnostic, supporting any tabletop RPG through a modular datapack format.
SessionZero is a cross-platform desktop application built with Godot that helps players and GMs organize their TTRPG sessions. It's designed to be system-agnostic, supporting any tabletop RPG through modular data-driven systems.
### Key Features
- **System-Agnostic**: Works with any TTRPG system through extensible JSON datapacks
- **System-Agnostic**: Works with any TTRPG system through data-driven systems
- **Full Offline Support**: Play completely offline with local data storage
- **Self-Hosted Multiplayer**: Host sessions directly from your machine with P2P networking
- **Decentralized Identity**: No accounts required - your identity is a cryptographic key pair you control
- **Flexible Networking**: Choose between assisted connection (via optional signaling server) or direct IP connection
- **Self-Hosted Multiplayer**: Host sessions directly from your machine with P2P networking or run a dedicated server
- **Open Content Format**: Import and create datapacks for characters, campaigns, items, and more
## Getting Started
### Prerequisites
- Godot 4.5.x (for development)
- Godot 4.6.x (for development)
- Windows or Linux (macOS support planned)
### Installation
**From Release:**
1. Download the latest release for your platform
1. Download the latest release for your platform (if availible)
2. Extract and run the executable
**Optional:**
1. Purchase from a distribution platform or app store *`(Available upon 1.0 release)`*
**From Source:**
1. Clone this repository
2. Open the project in Godot 4.5.x
2. Open the project in Godot 4.6.x
3. Run the project or export for your platform
## How It Works
### Datapacks
Content is organized into **datapacks** (.szp files) - portable archives containing:
- Character templates and sheets
- Campaign/session templates
- Datasets (items, NPCs, spells, etc.)
- Associated media assets
### Hosting Sessions
SessionZero uses a **Host Authority** model where the GM's client acts as the server:
1. **GM** starts a session using a session template
2. **GM** chooses a connection method:
- Generate a Session Key for easy joining (requires signaling server)
- Share their IP/domain for direct connection
3. **Players** join using the Session Key or IP address
4. All session data is stored locally on the GM's machine
### Player Identity
Instead of traditional accounts, SessionZero uses cryptographic key pairs:
- Your **Private Key** (Secret Token) stays on your device and signs all actions
- Your **Public Key** (Client ID) identifies you to session hosts
- Transfer your identity by copying your Private Key to another device
## Development Roadmap
### Phase 1: Core Platform (Current)
- Local session management
- Direct P2P networking
- Datapack system implementation
- Character and campaign management
### Phase 2: Advanced Networking
- Minimal Signaling Server integration
- UDP hole punching with automatic fallbacks
- SessionZeroDB content discovery
### Phase 3: Mobile & Extensions
- Web (WASM) application
- Mobile applications
- Plugin system and API extensions
> WIP
## Contributing
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
## Related Projects
- **SessionZero MSS**: Minimal Signaling Server for assisted P2P connections (separate repository)
- **SessionZeroDB**: Federated content indexing service (planned)
Contributions are welcome! Please read our [contributing guidelines](contribution-guidelines.md) before submitting pull requests.
## License
- **Source Code**: AGPL-3.0 (Affero General Public License)
- **User Content**: Creative Commons BY-SA 4.0
- **Application**: GPLv3 (GNU General Public License)
- **User Content (Datapacks, Templates, Modules, etc)**: Creative Commons BY-SA 4.0
## Support
For issues, feature requests, or questions:
- Open an issue on GitHub
- [Open an issue](https://git.bellsworne.tech/Bellsworne/sessionzero-resources/issues)
- Visit the website [SessionZero.app](https://sessionzero.app)
- Check the full design document [Here](sessionzero-design-doc-wip.md)
- Join the community on [Discord](https://discord.gg/RgG5HsJNMT)
- Check the full [design document](design-doc.md)
- Join the [Matrix]() community
---
**Note**: SessionZero is in active development. Features and APIs may change as the project evolves.
**Note**: SessionZero is in active development. Features may change as the project evolves.
---
**Made with `<3` by [Bellsworne Tech](https://bellsworne.com/tech)™**