{"id":90112,"date":"2026-06-05T06:29:18","date_gmt":"2026-06-05T03:29:18","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/"},"modified":"2026-06-05T06:29:18","modified_gmt":"2026-06-05T03:29:18","slug":"keville","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/","title":{"rendered":"Keville"},"content":{"rendered":"<p># \u23f0 Keville \u2014 Smart Messaging for Minecraft Servers<\/p>\n<p>Keville is a **powerful, flexible, and lightweight messaging plugin** for Minecraft servers.<br \/>\nIt allows you to send messages to players automatically based on **time, conditions, triggers, and targets** \u2014 without command spam or manual intervention.<\/p>\n<p>From simple reminders to complex, condition-based announcements, Keville ensures **the right message reaches the right players at the right moment**.<\/p>\n<p>> \u26a0\ufe0f **Status: BETA**<br \/>\n> Keville is currently in **beta**.<br \/>\n> Features are stable, but configuration structure and behavior may still evolve.<br \/>\n> Feedback and bug reports are very welcome!<\/p>\n<p>&#8212;<\/p>\n<p>## \u2728 Core Features<\/p>\n<p>### \ud83d\udd52 Scheduled Messages<br \/>\nSend messages at specific times using a simple and readable configuration.<\/p>\n<p>&#8211; Schedule messages using **24-hour time format (HH:mm)**<br \/>\n&#8211; Limit execution to specific days (or all days)<br \/>\n&#8211; Supports multiple message types:<br \/>\n  &#8211; **Chat**<br \/>\n  &#8211; **Actionbar**<br \/>\n  &#8211; **Title**<br \/>\n&#8211; Optional sounds per message<br \/>\n&#8211; Fully automated once configured<\/p>\n<p>Perfect for:<br \/>\n&#8211; Daily announcements<br \/>\n&#8211; Event reminders<br \/>\n&#8211; Rule notices<br \/>\n&#8211; Server-wide alerts<\/p>\n<p>&#8212;<\/p>\n<p>### \ud83d\udd01 Repeater Messages (Playtime-Based)<br \/>\nSend messages at a fixed interval based on **Minecraft playtime**.<\/p>\n<p>&#8211; Interval defined in **Minecraft seconds** (20 ticks = 1 second)<br \/>\n&#8211; Can be limited to specific days<br \/>\n&#8211; Supports random messages and sounds<br \/>\n&#8211; Optional conditions and targets<\/p>\n<p>Great for:<br \/>\n&#8211; Vote reminders<br \/>\n&#8211; Tips &#038; hints<br \/>\n&#8211; Repeating informational messages<\/p>\n<p>&#8212;<\/p>\n<p>### \u26a1 Triggered Messages<br \/>\nSend messages **once** when conditions become true.<\/p>\n<p>&#8211; Fires only when conditions change from *false \u2192 true*<br \/>\n&#8211; Does **not** spam or loop<br \/>\n&#8211; Uses the same message system as scheduler &#038; repeater<br \/>\n&#8211; Can execute a predefined custom command<\/p>\n<p>Ideal for:<br \/>\n&#8211; Player count milestones<br \/>\n&#8211; World-based alerts<br \/>\n&#8211; Special server states (busy hours, events, etc.)<\/p>\n<p>&#8212;<\/p>\n<p>## \ud83e\udde0 Conditions System<br \/>\nKeville includes a powerful and reusable **conditions engine**.<\/p>\n<p>&#8211; Conditions are grouped and reusable<br \/>\n&#8211; All conditions in a group must be true<br \/>\n&#8211; Supports comparisons using:<br \/>\n  &#8211; Built-in placeholders (`{online}`, `{world}`, `{time}`, etc.)<br \/>\n  &#8211; **PlaceholderAPI** placeholders (`%player_level%`, `%vault_balance%`, etc.)<br \/>\n&#8211; Supported operators:<br \/>\n  &#8211; `=`, `>`, `>=`, `<`, `<=`\n\nExample use cases:\n- Only send messages when enough players are online\n- Target specific worlds\n- Trigger messages based on player stats or permissions\n\n---\n\n## \ud83c\udfaf Target Groups\nPrecisely control **who receives messages**.\n\nTarget groups are reusable and support:\n- All players\n- Specific worlds (**Multiverse-Core supported**)\n- Permissions (**LuckPerms supported**)\n- LuckPerms groups\n- Individual players\n\nTargets can be applied to **scheduled**, **repeater**, and **triggered** messages.\n\n---\n\n## \ud83e\udde9 Custom Commands\nDefine reusable message actions and trigger them dynamically.\n\n- Custom commands can send messages, play sounds, and apply conditions\/targets\n- Messages and sounds can be **randomly selected**\n- Can be referenced from triggered messages\n\nThis avoids duplication and keeps complex setups clean and maintainable.\n\n---\n\n## \ud83d\udd0c Plugin Integrations\n\nKeville integrates seamlessly with popular server plugins:\n\n- **PlaceholderAPI** \u2014 advanced dynamic placeholders\n- **Multiverse-Core** \u2014 world-aware targeting and conditions\n- **LuckPerms** \u2014 permissions and group-based targeting\n\n---\n\n## \ud83d\udd70 Time &#038; Timezone Support\nKeville handles time correctly across environments.\n\n- Configurable **IANA timezone**\n- Optional **NTP synchronization** for drift-free accuracy\n- Consistent behavior across restarts\n\n---\n\n## \ud83d\udcdd Logging\nOptional logging of all sent messages.\n\n- Fully configurable log template\n- Includes placeholders like:\n  - `{time}`, `{section}`, `{type}`, `{player}`, `{message}`\n- Useful for moderation, auditing, or debugging\n\n---\n\n## \u2328 Commands\nKeville includes a clean command interface:\n\n- `\/keville schedule` \u2014 create scheduled messages\n- `\/keville message` \u2014 send messages manually\n- `\/keville conditions` \u2014 list condition groups\n- `\/keville today` \u2014 see today\u2019s scheduled messages\n- `\/keville debug` \u2014 inspect internal state\n- `\/keville reload` \u2014 reload configuration\n- Alias: `\/kev`\n\nEach command supports permissions and OP overrides.\n\n---\n\n## \u2699\ufe0f Lightweight &#038; Production-Ready\nKeville is designed to be:\n\n- Easy to configure\n- Lightweight on performance\n- Quiet in the background\n- Reliable even on busy servers\n\n---\n\n## \ud83e\uddea Take some special notes\nKeville is currently in **BETA**.\n\n- Configuration format may evolve\n- New features are actively being developed\n- Feedback is highly appreciated\n- The Plugin is known on your server as kwallieKeville\n\n---\n\n## \ud83d\udea8 Help needed? Issue found?\nYou can contact me at pascal@boschma.wtf. I'll help you as soon as I can. If you find an issue, please let me know too!\n\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Keville is a scheduled messaging plugin for Minecraft Paper servers. It allows you to send messages to players based on time, events, and configurable triggers &#8211; fully automated and reliable.<\/p>\n","protected":false},"featured_media":90113,"template":"","meta":{"_minecraft_slug":"keville","_minecraft_project_id":"skqzHl6b","_minecraft_author":"Paskwallie","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":11,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"keville.zip","_minecraft_size_bytes":40471,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T23:06:30.242061Z","_minecraft_date_created":"2026-01-24T23:32:30.406670Z","_minecraft_date_modified":"2026-01-23T21:02:46.397151Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/keville","_minecraft_icon_attachment_id":90113,"_minecraft_imported_at":"2026-06-05T03:29:19+00:00","_minecraft_import_hash":"769e8afa31e1996a6159c70f37e69fb6","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[126,127,129,92],"mod_loader":[132,134],"minecraft_version":[845,846,847,848,849,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-90112","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-management","mod_category-paper","mod_category-spigot","mod_category-utility","mod_loader-paper","mod_loader-spigot","minecraft_version-1-2-1","minecraft_version-1-2-2","minecraft_version-1-2-3","minecraft_version-1-2-4","minecraft_version-1-2-5","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Keville - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/keville\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keville - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Keville is a scheduled messaging plugin for Minecraft Paper servers. It allows you to send messages to players based on time, events, and configurable triggers - fully automated and reliable.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/keville\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/\",\"name\":\"Keville - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp\",\"datePublished\":\"2026-06-05T03:29:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/keville\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Keville\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Keville - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/","og_locale":"en_US","og_type":"article","og_title":"Keville - Minecraft","og_description":"Keville is a scheduled messaging plugin for Minecraft Paper servers. It allows you to send messages to players based on time, events, and configurable triggers - fully automated and reliable.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/","name":"Keville - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp","datePublished":"2026-06-05T03:29:18+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/keville\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/keville-icon-572c530a36e622ad00277761d8ce2868efdbd6d8_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/keville\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Keville"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/90112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/90113"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=90112"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=90112"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=90112"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=90112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}