Newsletter

What I worked on today

Releasing Civ13 Launcher 1.0.7

I have released version 1.0.7 of the Civ13 launcher, which includes a fix to prevent players from joining immediately after verified server discovery.

Engine and community updates

In Civ13, I merged experimental lighting overlays for inactive reserved cells and added clearance guards. I also pushed an update to extraction survival mode to fail closed on malformed recovery inventory roots and nodes. To support performance testing, I am working on aligning save benchmarks for bounded-world-save. To help organize our growing knowledge base, I have opened a pull request to define the mission and community standards for the civ13.github.io wiki.

In other projects, I released DiscordPHP version 10.69.0 and merged an update to Civilizationbot that adds an opt-in live launcher server directory. I am also working on separating disabled-source review from safehouse activation evidence in Civilizationbot.

Valithor

Releasing Civ13 Launcher 1.0.6

I have released version 1.0.6 of the Civ13 launcher, which includes cached server status to help preserve cooldowns across restarts. This follows the 1.0.5 release, which addressed single-file containment logging configuration and clarified YouTube review run guard refusals.

Engine stability and bot updates

To improve the reliability of the Civ13 environment, I merged a passive monotonic watchdog to detect hangs in the Nomads system and added recovery verification tooling for the Gaia and Europe maps. I also addressed issues with extraction loot handoffs and adjusted research and mining restrictions, such as restricting rock mining to pickaxes. To support maintenance, I have opened a pull request to save and stop canonical Nomads processes before updating or compiling.

In other projects, I merged an update to Civilizationbot to improve nomad status freshness and merged an update to the DiscordPHP OpenAPI schema to address changes in the Discord API.

Valithor

Integrating gameplay footage uploads for Civ13

I have merged several updates to manage how gameplay footage is uploaded and verified, enrolling specific recordings—such as weapon attachments and train footage—into a reviewed YouTube uploader. This work includes new logic for rescheduling reviewed uploads and handling protected environment secrets to keep the uploader secure.

Infrastructure and documentation updates

In Civ13, I merged improvements to the system foundation, including a new identity and lease foundation for inactive extraction instances and a fix to keep bronze production and research evidence together during help retrieval. I also merged a fix to preserve wildlife peers during registry retirement. To support these systems, I have opened a pull request to add a guarded native bot supervisor consumer.

Work on the civ13.github.io site has progressed with the publication of a source-pinned architecture and UML atlas, which includes fixes to maintain diagram aspect ratios on mobile. For the YoutubePHP project, I published phpDocumentor API references and uploader guides.

Expanding engine capabilities and other tools

I have expanded the mechanics supported in DiscordPHP-MTGPocket by implementing graveyard-cast triggers and resolving a delay issue with cantrip draws through a persisted upkeep trigger.

In other projects, I merged opt-in step-click controls for NFG and added desktop and mobile render reports to Coffee's Crafts that preserve artwork. For Civilizationbot, I merged updates to ensure the portable bot uses a verified default main branch for its startup and updates, alongside improved Windows lifecycle controls.

Valithor

Updating the Civ13 launcher with new server options

I have released Windows launcher version 1.0.3, which adds support for Civ13.com servers via Civ13#3234.

Engine and graphics refinements

In Civ13, I merged several updates to the engine, including binding agent grass gathering to explicit wait contexts (Civ13#3208), refusing unmeasured world-z growth before allocation (Civ13#3217), and using switch dispatch for persistence exclusions (Civ13#3197). I am also continuing work on visual and mechanical refinements, including an audit of stone lifting weights and updates to lighting plane mask composition. To improve environmental immersion, I have opened an issue to add geometric line-of-sight occlusion with wall and opening shadows.

Expanding card data in DiscordPHP-MTGPocket

I have continued the effort to address card coverage gaps in DiscordPHP-MTGPocket, pushing frequent updates to expand the engine's ability to recognize and process more cards accurately.

Valithor

Expanding card coverage in DiscordPHP-MTGPocket

I have merged a high volume of updates to DiscordPHP-MTGPocket to address card coverage gaps, specifically focusing on work related to sc84tj. This work continues the effort to ensure the engine can accurately process a wider variety of card interactions.

Refinement of Civ13 interfaces and agents

In Civ13, I have merged updates to improve how players join lobbies and how join verbs are displayed. I also pushed updates to help maintain the user experience by restoring input runtime states.

To support further development of automated systems, I have started work on a new gameplay agent contract and new debug tools for bounded agents. This work aims to provide a more structured way to test and implement agent behaviors within the game environment.

Valithor

Expanding Magic: The Gathering mechanics in DiscordPHP-MTGPocket

I have merged a series of updates to DiscordPHP-MTGPocket that expand the engine's ability to process complex Magic: The Gathering mechanics. This includes improved handling for various triggers—such as combat damage, creature death, sacrifices, and "intervening-if" conditions—as well as token types and specific card effects. To continue this expansion, I have opened a pull request to improve how the engine reads opponent spell kinds and defending-player attack triggers.

Technical handoffs and library maintenance

In Civ13, I have handed off several investigations to a dedicated branch, including work on lighting-after-load behavior and chemical registration fixes. I also provided technical feedback regarding HUD blindness reconciliation, Linux native diagnostic loss, and CI failures to assist with ongoing troubleshooting.

Regarding the broader DiscordPHP ecosystem, I published release v10.68.0 and merged several pull requests. I am also reviewing a proposal to keep specific fields added by Discord within applications and search results.

Valithor

Stabilizing world persistence and map transitions in Civ13

I have merged two updates to Civ13 that improve data handling during critical transitions: preventing concurrent world saves and imports (Civ13#3194) and ensuring players are preserved when map transitions block the loading process (Civ13#3195). These changes build on recent efforts to make world-save restoration more reliable.

Playtesting and map development

The Civ13 Nomads persistence playtest is live on the ValZarGaming server, testing server updates, save/load recovery, and the stability of persistent rounds.

To support new content, I have opened a pull request for a four-level Dagger home map with protected core and build areas (Civ13#3193). I am also working on a "Europe lighting recovery" probe to trace startup and diagnostic behavior. On the infrastructure side, I updated the native launcher to report diagnostics for update failures and added loss-safe archival for admin history.

In my work on Civilizationbot, I opened a pull request to add isolated Windows TEST1714 startup support. I also refreshed the player roadmap on the civ13.github.io site and added a link to the latest launcher release.

Valithor

Improving world recovery and gameplay mechanics in Civ13

I have merged several updates to Civ13 that improve how the game handles world-save restoration, including excluding HUD graphs from saved worlds and validating added levels before recovery. To help with server management, I also added admin save restarts and automatic generation recovery.

Gameplay and infrastructure updates

New mechanics are now live in Civ13, including staged flax, tow, and textile lint processing, buildable freshwater dew collectors, and realistic prepared meals with bounded quality rewards. I also merged changes to reduce food and water consumption during inactivity and a system to confirm firearm actions in chat. To help players navigate crafting, I added a dependency atlas with era and processor views.

Ongoing work aims to further refine the player experience and server stability. I have opened pull requests to reclaim players waiting through saved-world recovery, rebuild runtime lighting ownership during world recovery, and verify full-map Europe native save and recovery. I am also working on a proposal to show hovered object names on the HUD and a plan to bound recent combat histories while archiving older forensic records. On the infrastructure side, I am exploring the use of public game ports with explicit launcher overrides and a method to use verified BYOND for ValZarGaming server selections.

Valithor

Improving the Civ13 launcher and web roadmap

I have merged a new, single-file self-updating Windows launcher for Civ13 and updated the civ13.github.io site to include a player roadmap with validated navigation and automatic progress refreshes. To improve how the game connects to the launcher, I opened a pull request to resolve valzargaming.com for native connections, while ongoing work aims to refine how the launcher handles isolated launch configurations and local host verification.

Simulation stability and resource management

In Civ13, I merged updates to retire chemical smoke reagent sources after emission and to bound retained runtime error detail history. I am also working on improving world-save restoration through two open pull requests: one aims to exclude client HUD graphs from saved-world restoration, and another aims to restore authenticated players to their saved bodies after a world load.

Work on OpenDream focused on bounding memory and CPU costs. I merged improvements regarding turf tile appearance updates, list pool backing capacity, and the release of disk-backed savefile read caches. To further optimize resource usage, I have opened pull requests that propose bounding idle DM list pool capacity and avoiding full text copies when resource output appends CRLF.

In the DiscordPHP ecosystem, I merged preparations for the v10.67.1 release, which includes compatibility updates for libdave and channel obfuscation.

Valithor

Improving gameplay stability and documentation in Civ13

I have merged several updates to Civ13 that refine core mechanics, such as improving AI gameplay assistance, ensuring food nutrition and age are preserved during the drying process, and managing paid-child transfers within saved game contents. To support players better, I also rewrote the Merchant guide for the wiki and added documentation for the North America Nomads map.

Survival modes and engine development

Work on the extraction survival mode continues with efforts to define how faction-war persistence functions and defining custody phases. I have also proposed a plan for crash acceptance and opened a pull request to add a bounded Windows supervisor for isolated engine builds.

In my work on OpenDream, I focused on the native-byond-bridge-proof to manage object ownership. I opened and merged several pull requests aimed at ensuring that prompt snapshots, disconnected client references, and argument owners are released when procedure initializations fail or calls are rejected.

Library and web updates

I merged several updates to DiscordPHP-MTGPocket, which included adding support for uncontracted two-sentence creature fights, documenting the rules-engine architecture, and making land-entry life payments explicit and resumable. Additionally, I have integrated the Civ13 website and game into both DiscordPHP.org and valgorithms.com.

Valithor

Advancing game mechanics and performance in Civ13

I have merged several updates to Civ13 that address game balance and performance, including fixes for digging exploits and issues with reagent processing and renewable mining. To further optimize the experience, I opened a pull request (Civ13#3103) aimed at improving lighting queue performance.

Simulation and documentation progress

Development on Civ13 has moved into more granular mechanical territory, with work focusing on gun maintenance systems, component-based mechanics, and configurable attachments. I also addressed world-saving stability through bounded world saving and worked on extraction survival modes. To keep the community informed, I updated the official website and the wiki with new guides and details on various game modes.

Library and bot maintenance

In my other projects, I continued filling card coverage gaps in DiscordPHP-MTGPocket and merged a pull request to DiscordPHP-MCP. I also opened a new pull request for TwitchPHP and worked on a local verification replica for Civilizationbot, where I opened Civilizationbot#16 to track recent updates.

Valithor

Refining inventory mechanics in Frontier Systems

I have merged several updates to Frontier Systems that aim to improve how players interact with equipment and inventory, specifically regarding equipment prerequisites and how items are handed off within the inventory tray.

Engineering and simulation progress

Work on Frontier Systems continued with new proposals to refine the client shell, including integrated panel layouts and production panel navigation. I also opened a pull request to verify panels inside the actual client shell and another regarding client input construction acceptance to help streamline how the simulation handles user commands. Further efforts focused on refining extraction mechanics, such as equipment transport and nested inventory transfer recovery. I have also opened new pull requests to address active hand extraction and nested inventory transfers.

In other areas, I worked on memory management and cleanup for Civ13, focusing on the water and season registries as well as observer references. I also merged a pull request regarding memory runtime and another proposing a plant terminal lifecycle. To support the project's growth, I updated the Civ13 wiki with new player guides for current mechanics. I have also opened several issues to track upcoming features like sustainable mining, food lifecycles, hydroponics, and aquaculture.

Finally, I continued identifying gaps in card coverage within DiscordPHP-MTGPocket.

Valithor

Improving UI and system mechanics in Frontier Systems

I have merged several updates to Frontier Systems that aim to improve how players interact with equipment and inventory, specifically regarding equipment prerequisites and how items are handed off within the inventory tray.

Development across projects

Work on Frontier Systems continued with new proposals to refine the client shell, including integrated panel layouts and production panel navigation. I also opened a pull request to verify panels inside the actual client shell and another regarding client input construction acceptance to help streamline how the simulation handles user commands.

In other areas, I worked on memory management and cleanup for Civ13, focusing on the water and season registries as well as observer references. I also opened pull requests to address game verification and world save runtime evidence. To help support the ongoing maintenance of my libraries, I merged an Open Collective widget into both DiscordPHP.org and valgorithms.com.

Valithor

Engine updates and new frontiers

It has been a busy Saturday, split between refining my existing libraries and sharing some exciting new directions for my upcoming projects. Much of my focus went into DiscordPHP-MTGPocket, where I worked on expanding the engine's ability to understand complex Magic: The Gathering mechanics. By merging updates for things like "Amass," "shield counters," and various enchantment kinds, the engine is becoming much more capable of reading the game accurately. I also spent time keeping the DiscordPHP core in sync with the latest API changes from the October 8 OpenAPI description and improving the VoiceClient behavior to ensure it returns correctly when ready.

New projects and community support

I am officially announcing the early direction for Frontier Systems, a new cooperative engineering simulation project set within our solar system. I have shared the GitHub repository so you can see the early progress, which currently includes work on a health runtime, inventory UI, and cooperative playability. It is still in the very early stages, but seeing the core systems like equipment fabrication and Twitch integration start to take shape is very rewarding.

On a more practical note, I have introduced a new "Life Support" donation tier for DiscordPHP. This initiative is currently in progress to help cover the essential costs of library maintenance and API updates, as we are facing a shortage of emergency funds. Your support helps ensure these tools remain stable and up to date. Between the coding and the announcements, I also managed to squeeze in a quick 45-minute session of Magic: The Gathering Arena to unwind.

Valithor

New horizons and website updates

It has been a productive Friday, and I am happy to share that I have spent much of the day focusing on visibility and long-term vision. My main goal was ensuring that our progress is documented and easy to find, so I have successfully updated our project websites to include these recaps.

Introducing Frontier Systems

The most exciting part of today, however, was sharing a glimpse into the future with the Valgorithms community. I shared the early concept for a new project titled Frontier Systems. This is intended to be a cooperative engineering simulation set within the solar system.

While this is still an initial direction announcement, I wanted to get the concept in front of you all as soon as possible. It represents a new path for our collaborative work, and I am looking forward to seeing how this idea develops as we begin to shape its foundations.

Valithor

Valithor's daily recap — Thursday, October 8, 2026

A quiet day: nothing to report from GitHub, Discord or Steam.

A quiet day of maintenance

Today was a non-progress day due to my vacation. I made two small patches to DiscordPHP, which were minimal effort. I'll fully review recent changes next week. I also spent a brief period playing Brawlhalla. I'll be streaming in the near future.

DiscordPHP

The small updates I pushed included the release of version v10.66.3, which addressed addField validation and some code style fixes. I am also continuing my ongoing work on the upcoming v11 version.

Valithor

Improving gameplay and mechanical depth

It has been a massive day of progress for DiscordPHP-MTGPocket, focusing heavily on making the game more accessible and technically robust. I have been working to ensure that new players can jump right in without feeling lost, so I am happy to share that we have merged several features to help with that. Specifically, PR #30 and #33 have brought a new "How to play" quick start guide and the ability to play practice games against a bot into the project. You can even use rental decks to practice against the bot now, which should make getting started much smoother.

Strengthening the engine

Beyond the user experience, I spent a significant amount of time under the hood refining how the engine handles the complexities of the game. To ensure the rules engine is as accurate as possible, I merged a large series of updates, including PR #31 and #34, to better support intricate mechanics like damage prevention, double-faced cards, Sagas, and various "look and reveal" templates. This ensures that when these cards appear in a match, the logic holds up.

I am also continuing to bridge the gaps in our card coverage and deck construction. I've been working through the claude/card-coverage-gaps-sc84tj branch to address these issues, which included a fix in PR #32 to add basic lands to certain short rental decks. To keep the project's foundation professional, I also integrated new PHP tooling via PR #35 and pushed some much-needed updates to the DiscordPHP.org and valgorithms.com websites.

Valithor

Expanding mechanics and gameplay modes

It has been a massive day of progress for the DiscordPHP-MTGPocket engine. My main focus was on deepening how the system understands the complexities of Magic: The Gathering. I have successfully merged a significant wave of updates that improve our data coverage, bringing in support for MTGJSON and ensuring we are ready for the future with PHP 8.5 compatibility. This means the engine is becoming much more robust when handling tricky elements like triggered and loyalty abilities, tokens, equipment, and specific mechanical nuances like modal spells or painlands.

New ways to play and manage collections

Beyond just understanding the cards, I have been working hard to make the actual experience of playing more immersive and functional. I have merged several major gameplay systems, including a new /menu panel that allows you to interact using buttons and forms, and a move-by-move match logging system to keep track of your games. I am also very excited to share that a full booster draft mode has been developed, complete with Swiss rounds and card retention.

I have also focused on making your collections more useful outside of Discord. I've implemented features that allow you to export your decks and collections directly to MTG Arena, Tabletop Simulator, and Frogtown. While much of this is now part of the main branch, I am still spending time on the claude/card-coverage-gaps-sc84tj branch to bridge the remaining gaps in how the engine reads specific card text and mechanics. We are getting closer to a truly seamless simulation experience.

Valithor

Expanding AI-Router and refining PHPacker

It has been a productive Friday spent primarily on strengthening the core of the AI-Router. My main focus was on expanding what this project can do by adding support for both OpenAI and Copilot. This included updating model tests to ensure stability as these new capabilities are introduced. To make the development process smoother, I worked on refining Composer scripts to improve the workflow.

Technical refinements to PHPacker

In addition to the work on the router, I spent some time with the PHPacker integration. I made a few technical tweaks, such as adjusting the binary defaults to use the --serve flag. I also resolved a bug related to null timer cancellations.

Valithor

Preparing for big news

It has been a busy day of preparation and fine-tuning. I spent a good portion of my time updating both DiscordPHP.org and valgorithms.com to make sure everything is ready for the newsletter regarding the major DiscordPHP core and ecosystem releases.

Today was a busy day working on non-code related tasks. I'll be taking a break until after the 10th as both Colin and Cezzy are coming to visit starting on Friday.

Valithor

Major updates to DiscordPHP core and ecosystem releases

It has been a massive day of progress for the DiscordPHP core. I have pushed out three new releases—v10.64.0, v10.64.1, and v10.65.0—which bring some foundational changes to how the library operates. The biggest shift involves a major refactor of our namespaces to align them with their corresponding API routes, as seen in discordphp/discordphp#1507. This reorganization, alongside the implementation of REST operations and updates to the Factory class, makes the entire library more intuitive and better structured for the long term. DiscordPHP now covers every route.

We also managed to squeeze in several important quality-of-life improvements and safety checks. I've merged updates to improve autocomplete callbacks, added validation for embed field lengths, and implemented new regression tests for invites to ensure everything stays stable as we grow.

Ecosystem growth and maintenance

Beyond the core library, I spent a significant amount of time tending to our wider ecosystem and documentation. The DiscordPHP.org website has been updated with new class diagrams and route maps to help you navigate the library more easily. I also worked on the DiscordPHP-Bridge to move the live announcer over to the Twitch connector, and I released v8.3.0 for the DiscordPHP-Voice extension, which now includes support for a voice session repository.

A large portion of my day was also dedicated to reviewing community contributions. I went through many pull requests, merging several helpful ones while closing others that were either outdated or caused fatal errors. All pending issues and PRs were either closed or merged. It is a constant balancing act to ensure that every piece of code added to the project meets our standards and provides clear benefits to everyone using it.

Valithor

Core releases and bridge improvements

It has been a productive Sunday focused heavily on stabilizing our core tools and expanding how we connect different platforms. I spent a significant portion of my time reviewing community pull requests regarding autocomplete handling, testing tooling, and emoji logic. After sending several requests back for refinement, I was able to merge some important updates, most notably magic property support in discordphp/discordphp#1497. This work directly contributed to the release of two new versions, v10.61.0 and v10.62.0, which include improved documentation for the init event and better exception handlers for scheduled events.

Expanding the ecosystem

Beyond the core library, I focused on making our integrations more robust. I released twitchphp/twitchphp#v3.4.0, which brings much-needed improvements to connection handling and retry logic. To make this even more useful for creators, I added features to the Twitch bridges that can announce when streams go live or end, and I implemented a system to DM owners if a chat connection remains down. I also spent some time on the official website, adding a Discord server widget to the Community page and ensuring the site automatically rebuilds its maps on each release.

On the administrative side, I completed a series of updates to the Valgorithms server. This included refining the onboarding process, configuring new channels, and managing access and invitations to ensure everything is running smoothly for the community. I also took a moment to make the discordphp/discordphp-newsletter repository public and performed some minor maintenance on my other personal projects. It was a busy day of shipping code and tidying up our digital spaces, with just a quick 22-minute break to play some Brawlhalla.

Valithor

Deep Dives and Website Updates

Happy Sunday! I am so excited to be sending out my very first newsletter today. It feels great to finally have a dedicated space to share what I've been working on with all of you.

I've spent most of my morning diving deep into code reviews and making some progress on our web projects. It has been a busy morning of reviewing and managing code, particularly within discord-php/DiscordPHP. I spent a significant amount of time conducting extensive reviews, including requesting changes on discord-php/DiscordPHP#1414 regarding the command handler register overhaul and discord-php/DiscordPHP#1416 for the autocomplete callback matched option value.

Web and Community Updates

I also managed several merges within discord-php/DiscordPHP to keep things moving forward, such as rebuilding maps on the official website and updating the documentation. Beyond the code reviews, I've been focusing on our web presence. On discord-php/DiscordPHP.org, I added a Discord server widget to the Community page and added descriptions for the release dispatch process. I also performed some maintenance on valzargaming/valgorithms.com by creating a newsletter branch.

To help keep our community organized, I also created a new channel within the Valgorithms Discord server. You can join us and head directly to the new #newsletter channel here. The newsletter repository is also located here, but it is still private.

See you all tomorrow!