Updates to sessionzero resources
This commit is contained in:
107
readme.md
Normal file
107
readme.md
Normal file
@@ -0,0 +1,107 @@
|
||||
# SessionZero Client
|
||||
|
||||
A free and open-source TTRPG companion app for managing tabletop role-playing games with complete flexibility and control over your data.
|
||||
|
||||
## 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.
|
||||
|
||||
### Key Features
|
||||
|
||||
- **System-Agnostic**: Works with any TTRPG system through extensible JSON datapacks
|
||||
- **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
|
||||
- **Open Content Format**: Import and create datapacks for characters, campaigns, items, and more
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Godot 4.5.x (for development)
|
||||
- Windows or Linux (macOS support planned)
|
||||
|
||||
### Installation
|
||||
|
||||
**From Release:**
|
||||
1. Download the latest release for your platform
|
||||
2. Extract and run the executable
|
||||
|
||||
**From Source:**
|
||||
1. Clone this repository
|
||||
2. Open the project in Godot 4.5.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
|
||||
|
||||
## 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)
|
||||
|
||||
## License
|
||||
|
||||
- **Source Code**: AGPL-3.0 (Affero General Public License)
|
||||
- **User Content**: Creative Commons BY-SA 4.0
|
||||
|
||||
## Support
|
||||
|
||||
For issues, feature requests, or questions:
|
||||
- Open an issue on GitHub
|
||||
- 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)
|
||||
|
||||
---
|
||||
|
||||
**Note**: SessionZero is in active development. Features and APIs may change as the project evolves.
|
||||
Reference in New Issue
Block a user