{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Beacon Developer Blog",
    "home_page_url": "https:\/\/usebeacon.app\/",
    "feed_url": "https:\/\/usebeacon.app\/blog\/json.php",
    "author": {
        "name": "Thom McGrath"
    },
    "items": [
        {
            "id": "c449822a-e84f-4829-9f9c-32589f535ce2",
            "url": "https:\/\/usebeacon.app\/blog\/sentinel_scripts_v2",
            "title": "Big New Scripting Update for Beacon Sentinel",
            "content_html": "<p>Today's Sentinel update is <strong>huge<\/strong>. It's so big that it really deserves a video walkthrough. However, that would delay the launch by at least a week, and I know users are eager to try out some of these new features.<\/p>\n<p>So, let's dive in!<\/p>\n<h2>Multiple Context Scripts<\/h2>\n<p>Even before Sentinel launched, I wanted to add the concept of a script collection, which is a group of related scripts that can be added to a server or group as a single unit. As I began developing this feature, questions arose such as, &quot;Can a script belong to multiple collections?&quot; and &quot;Can collections have their own parameters so they don't need to be duplicated?&quot; The idea of collections turned out to be a nightmare from both a development and a usability standpoint.<\/p>\n<p>Now, scripts can include multiple contexts. For example, one script can now be added to the &quot;Run Script&quot; menu, react to game events, and handle slash commands.<\/p>\n<p>While implementing this, however, I noticed that most items were in the past tense, and some weren't events at all. This brings me to the next change. I ditched the term &quot;context&quot; and split these things into &quot;events&quot; and &quot;features.&quot; Events are your reactions to in-game actions, such as player death, dino taming, tribe creation, and chat messages. Features are additions to Sentinel and\/or the game. Examples include slash commands, script commands, cheats, webhooks, and menu items. A script can contain any number of events and features.<\/p>\n<p>Additionally, if a script uses JavaScript for any of its events or features, a new &quot;Common JavaScript&quot; section will appear where you can add code to be injected before the JavaScript code for the event or feature. This is most useful for reusable code chunks to avoid duplication.<\/p>\n<h2>Sentinel Workshop<\/h2>\n<p>This was really the catalyst for today's update. I wanted to create a place where users could share ready-to-use scripts that others could quickly add to their servers. However, certain tasks would require multiple scripts, and I didn't want users to have to hunt down all the related scripts they would need.<\/p>\n<p>The Sentinel Workshop is now available as a tab in the Scripts section of the Sentinel web interface. This section allows you to browse scripts by searching or rating. Scripts now have rich descriptions that showcase their capabilities. The workshop allows you to view the full script code before adding it to a server or group. Users can add a script to a server or group right from the workshop and make their own copies should they want to make tweaks.<\/p>\n<p>Oh, and since this feature is brand new, the ratings will seem a bit strange at first. The algorithm will improve as more votes are collected.<\/p>\n<h2>Documentation<\/h2>\n<p>Detailed documentation for Sentinel scripting is now available on the <a href=\"https:\/\/help.usebeacon.app\/sentinel\/scripts\/\">Beacon Help<\/a> site. I've included descriptions of every function, event, feature, class, and anything else that might be useful.<\/p>\n<p>In addition, JavaScript code editors are now more familiar with the Beacon function library. Admittedly, I'm still not great at writing my own code assistant class for Monaco, but it's a start.<\/p>\n<p>Ideally, this will help users write better scripts. At the very least, it should help AI models produce more accurate code.<\/p>\n<h2>Breaking Changes<\/h2>\n<p>Two things had to change in this update, and I couldn't find a logical way to migrate them.<\/p>\n<h3>Run Menu Items<\/h3>\n<p>In the past, creating a manual script would add it to your Run Script menu. This was a real hack job, and with the new organizational changes, it wasn't something I could maintain.<\/p>\n<p>Now, you need to attach these scripts to a server or group, just like any other script, for them to appear in your Run Script menu. I added a note about this to the Run Script button.<\/p>\n<h3>Webhooks<\/h3>\n<p>Fortunately, nobody was using incoming webhooks yet because I couldn't maintain them. Instead of each script having its own dedicated webhook URL with its own authentication, webhooks are now a feature. Servers have a URL for receiving webhooks that uses their access key for authentication. Don't worry; this has been documented, too.<\/p>",
            "date_published": "2025-09-17T19:55:54.153+00:00",
            "date_modified": "2025-09-17T19:56:00.000+00:00"
        },
        {
            "id": "9c4259d6-e645-457f-868f-21bc2423e0ba",
            "url": "https:\/\/usebeacon.app\/blog\/sentinel_slash_commands",
            "title": "Introducing Slash Commands and Other New Features",
            "content_html": "<p>The most common type of Sentinel script is a chat script, and almost all of those are slash commands. A slash command is a chat message that starts with a &quot;\/&quot;.<\/p>\n<p>This is great, except it's also not. Every chat message must be translated and scored before a script can fire, and every chat script for a server will fire for each message. For servers with lots of slash commands, this is a huge waste.<\/p>\n<h2>Introducing Official Slash Commands<\/h2>\n<p>So, let's do something about that! A new script context called &quot;Slash Command&quot; is now available and allows you to specify exactly which command Sentinel's chat processing should look for. If there's a match, the message won't be sent for processing or forwarded to other chat destinations, such as cluster servers and Discord channels. This means commands execute faster for players, and other servers receive less noise.<\/p>\n<p>Even better, Sentinel supports parameters in your slash commands. For example, if you wanted to create a command that allows players to rename themselves, you can do so quickly. Sentinel will parse the command correctly, even with quotation marks and apostrophes. Creating a script to handle <code>\/rename \"Ian Malcolm\"<\/code> requires only a few clicks and doesn't require any knowledge of JavaScript; it can be done entirely from Sentinel's Actions language.<\/p>\n<h2>Converting Your Chat Scripts<\/h2>\n<p>If your chat scripts already handle slash commands, you can now change their context! The Context field is locked by default, but you can click the &quot;Edit Context&quot; button and read the warning, and then choose a new context. Make sure you understand the warning.<\/p>\n<h2>Anonymous Players<\/h2>\n<p>CurseForge is now requiring mods that collect player data to offer an opt out feature. The updated policy can be found <a href=\"https:\/\/support.curseforge.com\/en\/support\/solutions\/articles\/9000232898-moderation-guidelines-for-ark-survival-ascended\">on their website<\/a>. Players will be able to opt out by typing the phrase &quot;sentinel opt out&quot; into chat.<\/p>\n<p>This has serious implications on your ability to moderate your servers, so take a look at <a href=\"https:\/\/help.usebeacon.app\/sentinel\/anonymousPlayers\/\">this help article<\/a> to understand exactly what this means and your options as a server admin.<\/p>\n<h2>Offline Players<\/h2>\n<p>As of today's mod update, features that target specific survivors now work on offline players. So, you can now locate offline players, teleport them, give them items and creatures, and kill them.<\/p>\n<h2>Kill Survivor Function<\/h2>\n<p>Scripts now have access to a &quot;kill survivor&quot; function. While you could previously use an admin command, now you have a dedicated function for the task.<\/p>",
            "date_published": "2025-08-21T00:30:28.138+00:00",
            "date_modified": "2025-08-21T01:54:30.000+00:00"
        },
        {
            "id": "748a0f9c-d673-433b-bab5-1238036c7325",
            "url": "https:\/\/usebeacon.app\/blog\/beacon_sentinel_discord_bot",
            "title": "The Beacon Sentinel Discord Bot Is Now Available",
            "content_html": "<p>The official Beacon Sentinel Discord bot is now available! Use it to link your cluster's chat with your Discord server.<\/p>\n<p>Visit your <a href=\"https:\/\/sentinel.usebeacon.app\/groups\">Group<\/a> settings to find the &quot;Discord Integration&quot; section, where you can invite the bot and link it to your Discord server. Then, select a channel to use as your chat channel. Messages posted in that Discord channel will be delivered to all group servers, and any global messages sent by your servers will be delivered to the channel.<\/p>\n<h2>That's it? Just chat?<\/h2>\n<p>For now, yes. I use the &quot;minimum viable product&quot; strategy, meaning I start with the bare minimum and build up from there. My first goal was to make it stable and put it in the hands of users. In the near future, I'll be adding more features, such as the ability to execute Sentinel scripts, ban players, and link player Discord accounts to their Ark accounts.<\/p>",
            "date_published": "2025-08-18T18:10:45.715+00:00",
            "date_modified": "2025-08-18T18:10:58.000+00:00"
        },
        {
            "id": "20d1e10d-80e2-4235-8c8d-5106392ee759",
            "url": "https:\/\/usebeacon.app\/blog\/summer_2025_roadmap",
            "title": "Sentinel Launch and Summer 2025 Roadmap",
            "content_html": "<p>I have been working, off and on, on a monitoring service since before Ark Ascended launched. The idea was to ingest log files using an RCON connection for PC servers and perform basic monitoring. But it never really got past the experimental stage for various reasons.<\/p>\n<p>Then Ark Ascended launched and console servers got access to RCON, so interest in the concept was renewed. I even wrote code to use an FTP connection to download player files to extract things like the player's EOS ID, since there was no way to retrieve that with RCON. And then the new &quot;unified save game&quot; system was launched, and disrupted things once again. There was no practical way to download the entire map save whenever a player connected. Plus, Ark's log data is really lacking.<\/p>\n<p>Since January, I have been focusing almost exclusively on learning Ark modding so that I could get the data directly from the game itself, and Vue 3 to produce a nice web interface for all this. And it's finally ready and launched today.<\/p>\n<h2>What exactly is it?<\/h2>\n<p>Beacon Sentinel is a moderation <em>platform<\/em>. Besides performing the basic moderation tasks like monitoring chat, banning players, issuing admin commands, wiping dinos, etc., Sentinel allows admins and developers the ability to do wild new things with their servers. You can do the predictable things like a &quot;\/kit&quot; command to give players a starter kit. But you can also do things like keep a count of player deaths against specific dinos. Or make them complain to chat when you neuter them.<\/p>\n<p>With a bit of creativity, developers can even use Beacon Sentinel to create custom game modes, like hide and seek. This is why I like to call Beacon Sentinel a moderation <em>platform<\/em>. It's not just a tool for monitoring and moderating Ark Ascended servers, but for building whole new experiences without even rebooting the game server.<\/p>\n<p>Plus, Beacon Sentinel gives rude players nowhere to hide. In-game chat messages are not only scored for things like hate, racism, and sexuality, but they are also translated. So even if a player is speaking a language you don't speak, Beacon Sentinel will reveal what they're saying. And thanks to the scoring system, you can automatically warn or ban users who engage in hateful chat without having to blacklist specific words.<\/p>\n<p>You can check out more about Beacon Sentinel at <a href=\"https:\/\/sentinel.usebeacon.app\/\">https:\/\/sentinel.usebeacon.app\/<\/a>.<\/p>\n<h2>What's Next<\/h2>\n<p>Beacon is not forgotten. I have a list of things I want to do for the next major 2.4 update. But I need to stabilize Sentinel first. It's a brand new launch with rough edges and less-than-spectacular documentation. I have a ton of ideas for both Sentinel and Beacon, but I've been crunching hard for the past six months and need to slow down a little too. I'm hoping Sentinel is as successful as I think it can be so I can maybe bring on some help bringing these ideas to life.<\/p>\n<p>For Beacon 2.4, these are some of the ideas I've been knocking around:<\/p>\n<ul>\n<li>Linux support: I've tried this a few times in the past and have found showstopper issues each time. With SteamOS gaining traction, I'd like to give this another shot, but I can't promise it'll become reality.<\/li>\n<li>Webhooks: Beacon could call a URL after certain actions such as deploy, server start, or server stop. This could allow simple things like a Discord notification, or more complicated things like executing a Sentinel script.<\/li>\n<li>File templates: Self-hosted servers need to maintain a launch script that Beacon currently can't really help with. File templates would allow you to define your own launch script that Beacon could update and maintain as part of the deploy process. Or maybe even build an HTML file containing key server settings. The idea is you provide Beacon with a template, and it fills in values and writes to disk.<\/li>\n<li>New mods manager: The &quot;Mods&quot; button in the project toolbar could use some serious work, especially with the &quot;Mods&quot; tab almost directly above it. It's real easy to confuse the two. I'd like to introduce a much more interactive mods manager that can do things like support config sets.<\/li>\n<\/ul>\n<p>Again, none of these are promises. But they are things I'd like to do with Beacon in the next version.<\/p>\n<h2>Wrapping Up<\/h2>\n<p>So that's where Beacon is going both as an app and as a brand. I'm proud of this growth and where the product is heading and I hope to continue to make Beacon and Sentinel indispensable tools for every Ark admin.<\/p>",
            "date_published": "2025-06-24T05:49:19.344+00:00",
            "date_modified": "2025-06-24T05:49:09.000+00:00"
        },
        {
            "id": "c75726a6-5418-4bc1-aeed-1ea772376b0d",
            "url": "https:\/\/usebeacon.app\/blog\/cloud_storage_policy_update",
            "title": "An Update to Beacon\u2019s Free Cloud Storage Policy",
            "content_html": "<p>Beacon's cloud storage is both free and very resilient, and before you panic at the title of this post, that's not changing. But there is a change being made to keep costs reasonable.<\/p>\n<p>When you save a project to Beacon's cloud, it sits on a cache server for a few minutes before being copied to Beacon's long-term storage server. This delay helps avoid excessive versions if you save projects frequently. Once uploaded to long-term storage, a new version of the project is created and the old version is stored forever. The same behavior applies to other cloud storage objects, such as the data in the Mods and Templates sections. Anything that syncs to your Beacon account is versioned and permanent.<\/p>\n<p>While this ensures that your data is never lost, the downside is the ever-increasing cost of this storage. Currently, about 80% of Beacon's cloud storage consists of old versions. And realistically, most of those old versions will never be needed. So a new lifecycle policy is in place that will have old versions being deleted after one year. Current versions of files, including deleted files, will continue to be maintained forever.<\/p>\n<p>This small change will have a very minimal impact on users while helping to reduce the rate of storage growth.<\/p>",
            "date_published": "2024-12-03T19:40:20.949+00:00",
            "date_modified": "2024-12-03T19:40:11.000+00:00"
        },
        {
            "id": "fdd472fe-fbb9-40fc-a8cc-ba69e9ed934e",
            "url": "https:\/\/usebeacon.app\/blog\/beacon_2_roadmap",
            "title": "Beacon 2.0 Has Been Released! Here\u2019s What\u2019s Coming Next.",
            "content_html": "<p>This update has been in the works for a long time and was supposed to be released just before Ark: Survival Ascended, but some changes were needed that delayed the schedule.<\/p>\n<p>But it's out now! The <a href=\"https:\/\/usebeacon.app\/history?stage=3#build20000300\">release notes<\/a> have a full human-readable breakdown of the major new features, so I won't repeat it all here. This post is really about looking to the future.<\/p>\n<h2>What's Next for Beacon?<\/h2>\n<p>Beacon 2.0 was supposed to include support for 7 Days to Die, but I decided to delay it to get ASA support done sooner. This is still coming, but I intend to continue to focus on ASA for the time being.<\/p>\n<p>There's no such thing as a console server vs. PC server, since all servers are cross-play capable. This means that all PC features - such as FTP access and RCON support - are available to all servers. This opens up a number of possible features for Beacon that I will be exploring in the near future.<\/p>\n<blockquote>\n<p><strong>None of this is a promise that the feature will happen.<\/strong> This is just my roadmap of features I want to explore and add.<\/p>\n<\/blockquote>\n<h3>Save Data Backups<\/h3>\n<p>I'd like Beacon to back up the map data, player files, and tribe data. In the past, this wasn't possible for all servers because console servers didn't have FTP access and didn't list all server files. Both of these features are now available, so you should be able to back up your data during deployment. Of course, restoring those backups will also be a necessary feature, because what good is a backup that you can't use?<\/p>\n<h3>RCON Support<\/h3>\n<p>Beacon already has a lightweight RCON class that is used for ASE's Mod Discovery. My plan is to make this class more robust and build an actual RCON editor into Beacon. I've avoided this in the past because Beacon has historically been a config file generator. Well... not anymore. The site has been calling it a &quot;server manager&quot; for some time now, so I intend to embrace that. RCON will also be useful during deployment, as it can send custom stop messages or behaviors before shutting down.<\/p>\n<h3>Deploy Without Restart<\/h3>\n<p>ASA has the ability to update ini files while the game is running. I would like Beacon to support this. At some point in the future, you'll be able to choose between three deployment behaviors: &quot;shutdown and update&quot;, &quot;update and restart&quot;, and &quot;update only&quot;. The wording of these is subject to change, of course.<\/p>\n<h3>Player Management<\/h3>\n<p>I've already got code to find the Epic Online ID, spec ID, player name, and tribe ID from the player files on the server. This information is invaluable for many cheat codes, bans, whitelists, and admin lists. Allowing Beacon to generate a list would be an incredible tool.<\/p>\n<p>I'd also like to see Beacon host player control lists, but I'm still exploring options.<\/p>\n<h3>Dynamic Config<\/h3>\n<p>This is another area I'm still exploring. Dynamic config allows you to change a small subset of settings on the server without restarting the server. It requires a URL pointing to a text file, but there's no reason Beacon couldn't provide that.<\/p>\n<h2>For Now... Enjoy<\/h2>\n<p>Ark: Survival Ascended is better than I expected, in my opinion. There are issues with stacking certain items and spawn overrides don't work at all, but I see no reason why these won't be fixed eventually. Overall, the game is solid and the building improvements are fantastic. So go play the game. Have fun.<\/p>",
            "date_published": "2023-12-06T18:08:08.000+00:00",
            "date_modified": "2023-12-06T18:08:08.000+00:00"
        },
        {
            "id": "1f6fb7d0-c52f-4c0a-a28c-8fa1ca6c7bc5",
            "url": "https:\/\/usebeacon.app\/blog\/summer_2023_roadmap",
            "title": "Happy Summer! That Means It\u2019s Time for Beacon\u2019s 2023 Roadmap",
            "content_html": "<p>A lot of effort is being spent getting ready for Ark: Survival Ascended. But I need to back up a little bit.<\/p>\n<p>I've been working on the fourth version of the Beacon API, which is radically different from the previous versions. Although all versions of the API have been available for public use, none were really designed with that in mind. For example, signing in is done with your email and password, right? But that also means if you wanted to make an app that accessed the data of Beacon users, you would need to collect their email and password. That's a big privacy problem, and something that <a href=\"https:\/\/oauth.net\">OAuth<\/a> solved years ago. So the v4 API uses OAuth 2.1 for authentication. Even the next big Beacon update will use it, meaning the official Beacon app will have access to the same features as a third party app.<\/p>\n<p>I mention this because the v4 API is much easier for me to work with, so the ASA stuff will only be available to the v4 API. That means I have to get it finished quickly, and Beacon updated to use it.<\/p>\n<p>The reason for this big API change is because there's a good chance some developers will want access to new features being added. I've got something new in the works that I'm not ready to announce, but I bet there are developers that will want to produce Discord bots. So it's extremely important I get this new version of the API right.<\/p>\n<p>So this year's update isn't particularly entertaining, but I'm not planning too far out due to ASA coming up soon. I might do another update in the fall or winter when the future is a little more predictable. But for now, the update is kind of boring.<\/p>",
            "date_published": "2023-06-29T02:32:56.476+00:00",
            "date_modified": "2023-06-29T02:33:53.000+00:00"
        },
        {
            "id": "60db82a1-28e9-4295-9f80-88af12203479",
            "url": "https:\/\/usebeacon.app\/blog\/beacon_ark_survival_ascended",
            "title": "Let\u2019s Talk About Beacon and Ark: Survival Ascended [Updated]",
            "content_html": "<p><strong>[Update October 15th 2023]<\/strong>: Based on what little Wildcard has told us about Ark: Survival Ascended (ASA), we already know that there will be enough differences for ASA to be considered a separate game by Beacon. For example, player and dino movement speed will be capped by default, but there will be a configuration option to turn it back on. This confirmed difference alone means that there would have to be some sort of separation between Ark: Survival Evolved and Ark: Survival Ascended. The good news is that the existence of the option at all is a good indicator that ASA will still have plenty of configuration options.<\/p>\n<p>As Beacon grows, my plan is to add support for more non-Ark games. However, I don't think it would be fair to raise the price of Beacon Omni every time a new game is added, since not all users will use Beacon for every game it supports. So Beacon Omni will be a separate purchase for each game, and since ASA is a separate game, there will be a separate purchase for Beacon Omni for Ark: Survival Ascended.<\/p>\n<p>I'm also introducing some other pricing model changes in the interest of keeping Beacon maintainable. Beacon Omni will be moving to an update plan model. This is similar to a subscription, and I'm sure some people will call it a subscription, but it's not exactly the same thing. In an update plan pricing model, you purchase a license to the current version of the software, as well as any updates that are released over a period of time. When your update plan expires, <strong>you still have full access to the licensed software<\/strong>. You still have the license for life.<\/p>\n<p>Here's how Beacon Omni for Ark: Survival Ascended will work. $20 USD will get you Beacon Omni for Ark: Survival Ascended and updates for one year. Renewal of the update plan is $10 USD for each additional year. <strong>Existing owners of Beacon Omni for Ark: Survival Evolved can upgrade to Beacon Omni for Ark: Survival Ascended for $10 USD<\/strong>, which also includes one year of updates. Prices for other currencies will be based on exchange rates.<\/p>\n<p><strong>Existing licenses of Beacon Omni for Ark: Survival Evolved will not change at all<\/strong>. They are still lifetime licenses.<\/p>\n<p>As for <em>when<\/em> Beacon will support ASA, that's impossible to predict right now. We don't know enough about ASA, and even once it's released, it will take time to discover settings and figure out how they work. Wildcard's documentation of these things is notoriously poor. My plan is to essentially duplicate the ASE code for ASA, and then make changes from there as needed. So support might be available within a week or two, but there's a very high chance that settings will be wrong and require more updates to work out the kinks.<\/p>\n<p><strong>Original post<\/strong>:\nI'll get right to the point: I don't know anything more about Ark: Survival Ascended (ASA) than you do, so I don't know what Beacon's support for it will look like. There are two possibilities:<\/p>\n<ol>\n<li>ASA uses the identical paths, stats, configs, etc. as as Ark: Survival Evolved (ASE) and Beacon can immediately support ASA without major changes. A minor build update would be necessary to detect the correct servers from Nitrado, but Beacon would be mostly unchanged. <strong>I think this is the less likely of the two possibilities<\/strong>.<\/li>\n<li>ASA is different in some ways that requires me treating it like the separate game that it is. We already know some of this to be true, such as it not launching with support for all maps.<\/li>\n<\/ol>\n<p>If I need to treat ASA as a separate game, there's some good news and bad news. The good news is I already planned for this eventuality, albeit for Ark 2. Beacon 1.6 already understands the concept of multiple games, but the interface elements are just hidden. This means I could get a version of Beacon ready for ASA in weeks (probably with bugs) instead of months.<\/p>\n<p>Besides the timing, the bad news is that at this time, I have not decided wether or not ASA support for Beacon will be a paid upgrade. If I can go with option 1 and not have to treat it as a separate game, it'll be included in your existing Omni purchase.  This would be my preferred route. However, my plan has been to charge separate Omni purchases for each game that Beacon supports. This makes sense because if I add support for a game you're not playing, it means you're not paying for something you don't need. This design is also already in place in the shipping version of Beacon. But I'm not convinced wether or not it's &quot;right&quot; to charge an upgrade fee for this, especially with all the repurchasing Wildcard expects us to do.<\/p>\n<p><strong>I have not decided yet<\/strong>. Beacon for Ark: Survival Ascended may be a paid upgrade, or it may not be. I need time to consider.<\/p>\n<p>I think we have a rough transition ahead of us. I'll handle it the best I can.<\/p>\n<p>Oh and for the record, this is <strong>not<\/strong> an April Fool's joke.<\/p>",
            "date_published": "2023-04-01T05:24:01.000+00:00",
            "date_modified": "2023-10-16T16:12:25.000+00:00"
        },
        {
            "id": "30976253-d510-48ae-9094-99a479fd1dff",
            "url": "https:\/\/usebeacon.app\/blog\/update_163",
            "title": "Beacon 1.6.3: The Security Update",
            "content_html": "<p>Since Beacon gained online features, user security has worked pretty much the same way. When you sign into Beacon, your profile information is downloaded which includes your account's private key. This private key is encrypted with your password (or more specifically, a key derived from your password) and then stored on your computer. This unencrypted private key allows Beacon to use your account without ever needing your password again.<\/p>\n<p>The trouble with this design comes from users giving out their passwords. They might find somebody to help with their project, that somebody signs into their account, and then won't sign out.  The only solution is to generate a new private key, which breaks the encrypted data inside your projects and all your files stored in the cloud. Changing your password doesn't help because Beacon is not using your password.<\/p>\n<p>Also, please don't do this. Beacon has project sharing features to avoid this. Never give your password to anybody for any reason.<\/p>\n<h2>No More Unencrypted Keys<\/h2>\n<p>As of Beacon 1.6.3, private keys will remain encrypted with your account password while stored on your device. This means if you change your password, your key stored on other devices won't decrypt for long.<\/p>\n<p>Technically, the key will still decrypt using the old password, but Beacon checks for changes each launch. This is how relaunching Beacon gets it to notice when Omni has been purchased. So after the launch, Beacon will download new profile data, try to decrypt the private key with the old password, fail, and kick the user back to the login window. The profile data is also removed from the device at this time.<\/p>\n<p>This new logic means Beacon needs to know your account password for every single run. This sounds inconvenient, but there's a solution to that too. When you log in now, there is a new &quot;Login Automatically&quot; option that will save your password. On macOS, this uses the system keychain. On Windows, your password is encrypted with a key derived from hardware identifiers, so it won't decrypt on a different device. With this option enabled, Beacon can automatically get your password and decrypt your private key each launch.<\/p>\n<h2>One Step Further<\/h2>\n<p>One potential problem with this design is it requires somebody to use the new version of Beacon. If they sign in with an older version of Beacon, they still have your unencrypted private key and we're back to square one. This is where two step authentication comes into play.<\/p>\n<p>When you enable two step authentication for your account, older versions of Beacon cannot log in. Only Beacon 1.6.3 and newer is able to understand the second step.<\/p>\n<p>To enable two step authentication, head to <a href=\"https:\/\/usebeacon.app\/account\/#security\">https:\/\/usebeacon.app\/account\/#security<\/a> and you'll see a new &quot;Authenticators&quot; section. You can have multiple authenticators on your account, though at the moment only TOTP (like Google Authenticator) is supported. More options might be added in the future, though SMS will never be an option.<\/p>\n<p>As with other implementations of two step authentication, you'll be presented with a QR code to scan, then you generate a code and continue. In Beacon's case, you can also give a nickname to the authenticator in case you add more than one. Most users won't have more than one authenticator.<\/p>\n<p>Once your account has an authenticator, that's it, two step authentication is enabled for your account. Currently signed in sessions will continue to work, but cannot be renewed without signing in again. You can revoke sessions in the Sessions section of the account control panel. Your account will also gain 10 backup codes. Store these somewhere that they cannot be lost, as they can be used in place of a verification code should something happen to your authenticator.<\/p>",
            "date_published": "2023-01-17T18:53:04.010+00:00",
            "date_modified": "2023-01-17T18:54:57.000+00:00"
        },
        {
            "id": "a76b5994-32a7-4b66-8f0a-44419b359eee",
            "url": "https:\/\/usebeacon.app\/blog\/summer_2022_dev_update",
            "title": "Beacon Summer 2022 Development Update",
            "content_html": "<p>It's time for another annual roadmap and status update.<\/p>\n<h3>Server Upgrades<\/h3>\n<p>Today's maintenance was rougher than anticipated, but that's always how it goes. But it's worth it, because Beacon services are much better off with this batch of changes.<\/p>\n<p>Most importantly, I haven't been happy with Beacon's response times in some parts of the world. Beacon has been hosted from a server in New Jersey since its inception. This gives a reasonable access time in the most populated parts of the world, but leaves Australia (and its neighbors) with a very long ~900ms <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/time_to_first_byte\">time to first byte<\/a>. I've wanted to do better for a long time, but scaling has been a weakness of mine when it comes to IT skills.<\/p>\n<p>With this new architecture, Beacon now has three servers: one &quot;master&quot; you'll never directly interact with, a server in New Jersey, and a server in Sydney. Should the need arise, additional servers could be added in about 30 minutes. I don't want to go overboard of course, as these cost money, but I could see putting one in Frankfurt and San Francisco. We'll see what the future holds.<\/p>\n<h3>Privacy<\/h3>\n<p>With these new servers, I've taken the opportunity to improve user privacy in a couple ways. I'm a big fan of privacy and avoid sharing user data unless absolutely necessary. There were two areas I noticed I could do better.<\/p>\n<p>Until today, the website used Adobe Fonts, which means user browsers would contact Adobe's servers to retrieve the font files. Their <a href=\"https:\/\/www.adobe.com\/privacy\/policies\/adobe-fonts.html\">privacy policy<\/a> sounds pretty fair to me, but why give them anything at all? So Beacon's website now hosts its own fonts.<\/p>\n<p>The second area is IP addresses. To help users identify where their accounts are in use, user IP addresses were stored with the session info. I've decided to anonymize those addresses. So rather than <code>1.2.3.4<\/code> the address will appear as <code>1.2.3.0<\/code> in Beacon's database. For IPv6 addresses, I've followed Google's lead and store only the first 80 bits.<\/p>\n<h2>Roadmap<\/h2>\n<p>In the near future, I'm hoping to finish up a new help system with much better content that is part of Beacon's GitHub repository, so anybody with a GitHub account could contribute. I'm also looking to introduce Beacon for Windows ARM64 devices, as well as a version for Linux operating systems.<\/p>\n<p>I have new features in the works for Beacon too. I've talked about it for a while, but I want to introduce a way to simulate creature spawns to help users better predict when their designs will go haywire. I've also completed work on a technique to automatically discover mod info by running a local Ark server, so that will be a ton of fun to release.<\/p>\n<p>In the farther future, I'm interested in adding support for additional games. 7 Days to Die, DayZ, and Arma come to mind, as their config designs are pretty similar to each other. <strong>This is not a promise<\/strong>, just something I'm investigating.<\/p>\n<p>I currently have no plans for a Beacon 1.7 version. I think if (or when) I'm ready to introduce support for additional games, that's when I'll bump to Beacon 2.0.<\/p>",
            "date_published": "2022-08-02T22:02:42.227+00:00",
            "date_modified": "2022-08-02T22:02:29.000+00:00"
        }
    ]
}