{"id":37598260,"url":"https://github.com/rmaafs/welcometale","last_synced_at":"2026-01-16T10:00:14.659Z","repository":{"id":332509710,"uuid":"1133993251","full_name":"rmaafs/WelcomeTale","owner":"rmaafs","description":"A Hytale server plugin that disables the default join message broadcast and displays custom welcome messages when players join your server.","archived":false,"fork":false,"pushed_at":"2026-01-14T07:18:18.000Z","size":823,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-14T10:26:56.041Z","etag":null,"topics":["hytale","hytale-plugin","join","join-server-message","motd","plugin","welcome","welcome-message"],"latest_commit_sha":null,"homepage":"https://legacy.curseforge.com/hytale/mods/welcometale","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmaafs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-14T05:07:12.000Z","updated_at":"2026-01-14T07:18:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rmaafs/WelcomeTale","commit_stats":null,"previous_names":["rmaafs/welcometale"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/rmaafs/WelcomeTale","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmaafs%2FWelcomeTale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmaafs%2FWelcomeTale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmaafs%2FWelcomeTale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmaafs%2FWelcomeTale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmaafs","download_url":"https://codeload.github.com/rmaafs/WelcomeTale/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmaafs%2FWelcomeTale/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hytale","hytale-plugin","join","join-server-message","motd","plugin","welcome","welcome-message"],"created_at":"2026-01-16T10:00:14.263Z","updated_at":"2026-01-16T10:00:14.583Z","avatar_url":"https://github.com/rmaafs.png","language":"Java","funding_links":["https://paypal.me/royendero"],"categories":[],"sub_categories":[],"readme":"# WelcomeTale\n\nA Hytale server plugin that disables the default join message broadcast and displays custom welcome messages when players join your server.\n\n## ![alt text](docs/images/image.png)\n\n## ![alt text](docs/images/image2.png)\n\n## ![alt text](docs/images/image3.png)\n\n## Description\n\nWelcomeTale is a plugin for Hytale that enhances the player experience with a dual message system:\n\n- **Server-wide announcements** when someone joins (customizable join message broadcasted to all players)\n- **Private welcome messages** sent directly to the joining player\n\nYou can personalize both message formats with colors, multiple lines, and control whether default join messages are displayed.\n\n[GitHub Repository](https://github.com/rmaafs/WelcomeTale)\n\n## Where to Download\n\nYou can download WelcomeTale from multiple platforms:\n\n- **[GitHub Releases](https://github.com/rmaafs/WelcomeTale/releases)** - Official releases\n- **[CurseForge](https://legacy.curseforge.com/hytale/mods/welcometale)** - Hytale mod repository\n- **[ModTale](https://modtale.net/mod/welcometale)** - Community mod platform\n- **[Unified Hytale](https://www.unifiedhytale.com/project/welcometale)** - Hytale mod repository\n\n**📢 Want us to publish on another platform?** Let us know which one you'd like to see!\n\n## Features\n\n- 💬 **Dual message system** - Send two types of messages when a player joins:\n  - **Server broadcast** (`JoinMessage`) - Announce to all players that someone joined\n  - **Private welcome** (`WelcomePlayerMessage`) - Personal welcome message sent only to the joining player\n- 🎨 **Color \u0026 formatting support** - Use Minecraft color codes (`\u0026`) for colorful, styled messages\n  - 16 color options (black, blue, green, aqua, red, purple, gold, gray, etc.)\n  - Text formatting: bold (`\u0026l`), italic (`\u0026o`), reset (`\u0026r`)\n- 🔗 **Clickable links** - Automatically detects and converts HTTP/HTTPS URLs into clickable links\n  - Links are displayed in cyan color and open in browser when clicked\n  - Supports complex URLs with paths, queries, and parameters\n- 📝 **Multi-line message support** - Create beautiful message banners with multiple lines\n- 👤 **Player name placeholder** - Use `{player}` to dynamically insert the joining player's name\n- 🔕 **Optional join message control** - Disable Hytale's default join messages for full control\n- 🔄 **Hot-reload configuration** - Update settings without restarting the server using `/welcometale`\n- ⚙️ **Easy JSON configuration** - Simple, human-readable configuration file\n- 🛡️ **Permission system** - Control who can reload the configuration\n\n---\n\n## For Server Administrators\n\n### Installation\n\n1. Download the latest release from the [Releases](https://github.com/rmaafs/WelcomeTale/releases) page\n2. Place the `WelcomeTale-x.x.x.jar` file in your Hytale server's `mods` folder\n3. Start your server\n4. The plugin will automatically create a folder at `mods/com.rmaafs_WelcomeTale`\n\n### Configuration\n\n#### First Time Setup\n\nWhen you first run the plugin, it will generate a `config.example.json` file in the `mods/com.rmaafs_WelcomeTale` directory.\n\n**Important:** You must rename `config.example.json` to `config.json` to use your own configuration.\n\n\u003e **⚠️ Upgrading from an older version?** Check the `config.example.json` file inside your server's `mods/com.rmaafs_WelcomeTale` folder to use the new configuration format.\n\n#### Configuration Options\n\nThe `config.json` file contains the following options:\n\n```json\n{\n  \"JoinMessage\": [\"\", \"\u00263\u0026l \u003e \u00263{player} \u0026b joined\", \"\"],\n  \"WelcomePlayerMessage\": [\n    \"\",\n    \"\u00266\u0026l=====================================\",\n    \"\u0026e\u0026lWelcome to Our Server!\",\n    \"\u00266\u0026l=====================================\",\n    \"\",\n    \"\u00267We're \u0026ethrilled \u00267to have you here, \u0026b{player}\u00267!\",\n    \"\u00267Get ready for an \u0026e\u0026lamazing adventure \u0026r\u00267ahead.\",\n    \"\",\n    \"\u00266\u0026l\u003e \u00266Join our community:\",\n    \"\u00267  - Website: \u0026ehttps://rmaafs.com\",\n    \"\u00267  - GitHub: \u0026ehttps://github.com/rmaafs/WelcomeTale\",\n    \"\",\n    \"\u00266Enjoy your stay and have fun! :)\",\n    \"\"\n  ],\n  \"DisableDefaultJoinMessage\": true,\n  \"MessageReloaded\": \"\u0026aConfiguration reloaded successfully!\",\n  \"NoPermission\": \"\u0026cYou don't have permission to use this command!\"\n}\n```\n\n**Configuration Fields:**\n\n- `JoinMessage`: **Server-wide broadcast message** sent to all players when someone joins\n  - Use `{player}` as a placeholder for the joining player's name\n  - Supports color codes with `\u0026` (see Color Codes section below)\n  - Set to empty array `[]` to disable server broadcasts\n  - Example: `[\"\u00263\u0026l \u003e \u00263{player} \u0026b joined\"]`\n- `WelcomePlayerMessage`: **Private welcome message** sent only to the joining player\n  - Use `{player}` as a placeholder for the joining player's name\n  - Perfect for server rules, links, or personalized greetings\n  - Set to empty array `[]` to disable private welcome messages\n  - Example: `[\"\u00267Welcome \u0026a{player} \u00267to the server!\"]`\n- `DisableDefaultJoinMessage`: Set to `true` to **disable the default Hytale join message**. This gives you full control over join notifications\n- `MessageReloaded`: Message displayed when configuration is successfully reloaded\n- `NoPermission`: Message displayed when a player lacks permission to execute the command\n\n#### Color Codes\n\nYou can customize your messages with colors using the `\u0026` symbol followed by a color code:\n\n**Color Codes:**\n\n- `\u00260` - Black\n- `\u00261` - Dark Blue\n- `\u00262` - Dark Green\n- `\u00263` - Dark Aqua\n- `\u00264` - Dark Red\n- `\u00265` - Dark Purple\n- `\u00266` - Gold\n- `\u00267` - Gray\n- `\u00268` - Dark Gray\n- `\u00269` - Blue\n- `\u0026a` - Green\n- `\u0026b` - Aqua\n- `\u0026c` - Red\n- `\u0026d` - Light Purple\n- `\u0026e` - Yellow\n- `\u0026f` - White\n\n**Formatting Codes:**\n\n- `\u0026l` - Bold\n- `\u0026o` - Italic\n- `\u0026r` - Reset (removes all formatting)\n\n**Example:**\n\n```json\n\"WelcomePlayerMessage\": [\"\u00267Welcome \u0026a\u0026l{player}\u0026r \u00267to our \u0026b\u0026oawesome\u0026r \u00267server!\"]\n```\n\nThis will display: \"Welcome **{player}** to our _awesome_ server!\" with appropriate colors.\n\n#### Multi-Line Messages\n\nYou can create multi-line messages by using an array format for both `JoinMessage` and `WelcomePlayerMessage`:\n\n```json\n\"WelcomePlayerMessage\": [\n  \"\u00267============================\",\n  \"\u0026a\u0026lWelcome {player}!\",\n  \"\u00267Thank you for joining\",\n  \"\u0026eHave fun playing!\",\n  \"\u00267============================\"\n]\n```\n\nEach line will be displayed separately, creating a beautiful message banner.\n\n#### Message Behavior\n\nWhen a player joins the server:\n\n1. **`JoinMessage`** is broadcasted to all players on the server (if not empty)\n2. **`WelcomePlayerMessage`** is sent privately to the joining player (if not empty)\n3. If either field is an empty array `[]` or contains only whitespace, that message will not be sent\n\n#### Reloading Configuration\n\nAfter modifying the `config.json` file, you can reload the configuration without restarting the server:\n\n**In-game:** Run the command `/welcometale`\n\n**Console:** Execute `welcometale`\n\nThis will reload all configuration changes immediately.\n\n### Commands\n\n| Command        | Description                      | Permission           |\n| -------------- | -------------------------------- | -------------------- |\n| `/welcometale` | Reloads the plugin configuration | `welcometale.reload` |\n\n**Note:** Only users with the `welcometale.reload` permission can execute this command. By default, server operators have this permission.\n\n---\n\n## For Developers\n\n### Prerequisites\n\n- **Java 25** or higher\n- **Maven**\n- **Hytale Server JAR**\n\n### Building from Source\n\n1. Clone the repository:\n\n   ```bash\n   git clone \u003crepository-url\u003e\n   cd WelcomeTale\n   ```\n\n2. Create a `.env` file in the project root with your Hytale installation paths:\n\n   ```env\n   HYTALE_MODS_DIR=/path/to/hytale/mods\n   HYTALE_SERVER_JAR=/path/to/hytale/Server.jar\n   ```\n\n   Replace `/path/to/hytale/mods` with the actual path to your Hytale server's mods directory, and `/path/to/hytale/Server.jar` with the path to your Hytale Server JAR file.\n\n3. Build the plugin:\n\n   ```bash\n   mvn clean package\n   ```\n\n4. The compiled plugin will be in the `target` directory as `WelcomeTale-x.x.x.jar`\n\n5. Copy the JAR to your Hytale server's `mods` folder or use the Maven configuration to auto-deploy\n\n### Project Structure\n\n```\nWelcomeTale/\n├── src/main/java/com/rmaafs/welcometale/\n│   ├── Main.java                    # Plugin entry point\n│   ├── WelcomeTaleConfig.java       # Configuration class\n│   ├── commands/\n│   │   └── WelcomeTaleCommand.java  # Command handler\n│   ├── listeners/\n│   │   └── PlayerEvents.java        # Event listeners\n│   └── utils/\n│       ├── MessageFormatter.java    # Message formatting utility\n│       └── FileConfiguration.java   # Config file manager\n└── src/main/resources/\n    ├── config.example.json          # Example configuration\n    └── manifest.json                # Plugin manifest\n```\n\n---\n\n## Support \u0026 Contributing\n\nThis is just the beginning of a great journey in the era of creating plugins for Hytale! I'm open to working on whatever is needed to improve this plugin and help the community.\n\nIf you encounter any **bugs** or have **new ideas** for features, please [open an issue](https://github.com/rmaafs/WelcomeTale/issues) on this repository. Your feedback and contributions are highly appreciated as we build together the Hytale modding ecosystem.\n\n---\n\n## 🌟 Show Your Support\n\nIf you find this plugin useful, please consider:\n\n- ⭐ **Star this repository** to show your support and help others discover it!\n- 👀 **Follow [@rmaafs](https://github.com/rmaafs)** on GitHub to stay updated on future Hytale plugins and projects\n- ☕ **Buy me a coffee** on [PayPal](https://paypal.me/royendero) to support continued development\n\n### 🎨 Need a Custom Plugin?\n\nI'm available for **custom plugin development**! If you need a specific plugin tailored to your server's needs or want a private, custom solution, feel free to reach out. Let's bring your ideas to life!\n\n---\n\n## License\n\nThis project is provided as-is for use with Hytale servers.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmaafs%2Fwelcometale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmaafs%2Fwelcometale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmaafs%2Fwelcometale/lists"}