Categories
News

A Glimpse on 2023

In 2022, gw2cc saw rapid development with over 2000 commits. In total, over 700 bugs have been fixed, and over 600 new features have been implemented. Given that development on gw2cc only started in October of 2021 we are very happy with the progress that has been made. Now with the end of the holiday season, we would like to give an outlook on what to expect from gw2cc in 2023.

This year we want to focus on three major points. Firstly, making all remaining gameplay aspects of GW2 that haven’t been implemented yet available in gw2cc. Secondly, improving the overall performance and reliability of the client. This among others encompasses an upgrade to Godot 4. And finally, improving gw2cc’s scalability and making it overall easier to use for everyone. Beyond these, there will of course be countless other smaller (or bigger) changes throughout the year that didn’t make it into this list. For instance, a better plugin manager and a rewrite of the TradingPostManager are on our to-do list as well.

We also want to use this opportunity to express our gratitude to everyone that submitted bug reports and feature requests in the past, as well as the many people that supported us throughout the last year. To all those people we want to say: Thank you! Without your support and trust throughout the beta, gw2cc wouldn’t be where it is today.

With that being said, let’s have a look at what we have in store for gw2cc in 2023!

Upgrade to Godot 4

Not only gw2cc but also Godot, the underlying game engine, saw a lot of work and improvements over the last year. Its next major iteration, Godot 4, is slated to be released very soon and will not only bring massive performance improvements but also a lot of new features and quality-of-life improvements for developers. Therefore, we will evaluate upgrading to Godot 4 as soon as the engine is stable enough. Preliminary experiments showed huge performance gains, especially when a lot of agents were present on the screen.

Source: https://godotengine.org/article/dev-snapshot-godot-4-0-beta-14/

Since the upgrade to Godot 4 will be a breaking change, all plugins and bots need to be ported to the new engine. While we understand that this means additional work for plugin developers, we believe the advantages Godot 4 brings to the table far outweigh the extra overhead.

To make this transition as smooth as possible, we will first introduce a beta version of the new Godot 4 client and allow everyone to use and test it for multiple weeks before it will replace the old client. This not only allows us to fix any remaining bugs but also gives developers time to migrate their code to the new Godot version.

Physics Rewrite

The second major upgrade this year will be gw2cc’s physics engine, i.e. the part of gw2cc that is responsible for calculating how agents move in the world. In its current form, it has become increasingly difficult for us to add new features, such as mounts, dodging, or gliding. This has been the result of many small ad-hoc changes and workarounds over the last year as we slowly learned more about how the GW2 physics engine works under the hood.

Consequently, the physics engine needs a complete rewrite. While doing so will be a great endeavor, ultimately it will allow us to implement many features we have postponed until now and it should bring movement more in line with the official client. Among others, we hope to support moving platforms and mounts in 2023!

Collision avoidance using Godot 4’s new NavigationServer.

While we are at it, we potentially also consider switching to Godot’s navigation system. Godot uses the same pathfinding and navmesh generation libraries as we do under the hood, Recast & Detour, but arguably dresses them up more nicely. It exposes many features that we currently only support partially or not at all. With Godot 4, navigation saw huge improvements. One additional benefit this would bring is collision avoidance, which would allow a bot to get from A to B while simultaneously avoiding any monsters on the route if possible.

Missing GW2 Functionality

While most of GW2’s systems are already available to developers in gw2cc, some core gameplay aspects are still missing; most notably, chat, projectiles, and guilds. In 2023, we aim to implement most of these missing systems to give developers complete control over all aspects of GW2.

To this end, we encourage all developers to open issues for all features they are missing. Especially, so we can prioritize what to implement next.

Scalability

Supporting botting at scale has always been one of our primary goals, if not the goal. It is also the reason why we specifically chose to write a standalone client for GW2, a much more challenging task than a mere memory-based botting API, and until now also unprecedented. With gw2cc becoming more stable and feature-complete with each passing month, we believe that in 2023 the time is finally ripe to give large-scale botting the love it deserves.

While there are already some users running a larger number of gw2cc instances successfully, support for larger bot farms is still lacking. There currently is little to no support for managing multiple gw2cc instances. Log files are not correctly created for multiple instances, and there is no integrated way to monitor or control gw2cc instances remotely.

One step to improve the situation will be the introduction of a monitoring plugin, likely within the first half of the year. This plugin will periodically record a set of core statistics, such as gold, experience, acquired items, or current position, and will work independently of any specific bot. Similar to a logging library, the plugin will be written in a modular way allowing users to output these statistics and events to various sinks, e.g. either writing them to disk locally or forwarding them to web services via REST requests. Its arguably most important feature though will be session management. Session management will allow one to check the health of a bot by sending periodic heartbeats, as well as enabling remote restarts or shutdowns of a bot.

The most limiting factor with regard to scalability currently is the memory consumption of a single instance. Even though memory is cheap these days, it’s easy to see how a memory consumption of a mere 2-3GB per instance can become inhibiting when one tries to run 40 bots on a single computer or server. A major step to improve the memory usage of gw2cc will be the introduction of a shared navigation server. The navigation server will handle pathfinding for all clients simultaneously and thus allow sharing and reuse of navigation and map data between clients. Since this data makes up most of gw2cc’s memory consumption, this system will significantly reduce the amount of system memory required to run a large number of clients.

Furthermore, with the migration to Godot 4, a true headless mode will become available on all supported platforms. This means, going forward, no GPU will be required to run gw2cc in standalone mode. With a fix for the Linux version coming within the next months, this will make a wide variety of cheap servers available for botting.

We believe that with all these aforementioned improvements, running 30, 50, or even 100 instances on a single computer should become possible!

Long(er) Term Plans

Beyond the current plans for 2023 outlined here, there are also some other things we have in mind for gw2cc that might or might not be realized in 2023 already. This entirely depends on how fast we will be able to progress, and we can’t make any hard promises about when the following features will be ready.

One of the major issues we currently face with gw2cc is the reliance on the GW2 API for item and skill data. In the long term, we aim to get rid of this dependency altogether, especially since the data provided by the API is often inaccurate. Instead, we want to read out the data directly from the content files that the official client uses as well.

Related to this is our plan to directly read from the .dat archive file used by GW2. This would remove the requirement to download the same data again and instead enable reusing the data already downloaded by GW2. We hope that this change will give people with weak internet connections some relief since they are facing a lot of issues with the gw2cc update process right now. This does, however, not mean that we won’t improve the updater until then. There is definitely a lot of room for improvement there, especially with regard to usability and robustness, and providing a smoother update experience is one of our goals for 2023.

Hopefully, this article gave you a solid overview of what is planned for this year. If you have any questions, feedback, or concerns, leave us a message in the discord. We would be very glad to hear your thoughts on this. Happy botting!

Categories
News

We are Open!

We are happy to announce that with today’s update the store is now open to third-party developers! This gives developers a platform to reach all gw2cc users, while users can find bots and plugins in a single, unified place. The days of obscure Discord channels and private messages are finally over.

Checkout what we have to offer already:

If you are a developer that would like to get his work included on the store, don’t hesitate to get in touch with us on Discord.

Image by Leo Campbell

Categories
Script

(Over) frenkey_Teleporter Early Access

And another release this week! This time an early access version of frenkey_teleporter. This plugin allows you to teleport to various POIs as well as NPCs. Currently working for Core, HoT, and PoF.

Thanks go out to Frenkey for making this plugin available to the public!

Download & Install

Download the frenkey_Teleporter.pck file from below and place it into the plugins folder. Use the cogwheel button in the top menu to open the Settings menu and make sure that frenkey_Teleporter.pck is checked.

Changelog

  • Added dozens of game markers
  • Added all EOD maps
  • Added Click To Teleport
  • Waypoints now show on any map even if the coords file isn’t added yet.
  • Markers which are grayed out are disabled as they are missing a propper Vector3 position.
  • Distances are now displayed behind the marker name.
  • Added categories for quick filtering.
  • Adjusted the font to match GW2’s font.
Categories
News

Scheduled Downtime

In order to move to a better server, there will be a scheduled downtime on Monday, 25th July from 6:00 to 6:30 UTC. During this time, gw2cc, as well as the website, won’t be available! Thank you for your understanding.

Categories
Script

(Over) DAT-Condi-Virtuoso Weekend Trial

Starting from today, Mesmer Players can try DatAccount’s Condi-Virtuoso rotation script for free until the end of Sunday. The script automates combat for the Condition Virtuoso build and hits 93% benchmark. Thanks to DatAccount for sharing his work and making this trial available!

Download and Install

A guide video explaining how to activate the plugin

Simply download the .pck file from below and place it in your Plugins folder. Start gw2cc and activate the plugin in the Settings menu and you are ready to go.

Build

Make sure that you have Dagger/Sword equipped as top weapon set, and Dagger/Focus as bottom weapon set!

Categories
Script

(Over) DAT-Condi-Scourge Can Be Tried for Free Over the Weekend

DatAccount is on it again with a free trial of his Condition Scourge rotation script! After last weekend Engineer players were already able to test his Scrapper script, this weekend all the Necromancers among you can test his Condi-Scourge script for free.

Achieving a whooping 96% benchmarks, this plugin completely automates combat for the Condition Scourge build (see below for details). The only thing you need to do is to move your character while the scripts eliminates enemy after enemy.

Many thanks to DatAccount for making his plugin available!

Download and Install

Guide video showing how to activate the plugin (no sound). Hold right-click to move the top menu.

Simply download the .pck file from below and place it in your Plugins folder. Start gw2cc and activate the plugin in the Settings menu and you are ready to go.

Build

Condition Scourge Build. Setup your traits and skills as shown.

For details, checkout the corresponding page on Snowcrows.

Categories
News

The gw2cc open beta started!

After almost one year of development time, we are happy to announce that gw2cc is now officially in open beta! This marks a huge milestone for us, and we would like to thank all those that supported us throughout the closed beta with valuable feedback and bug testing.

Starting from today, anyone on US & EU is welcome to test and play with gw2cc to their hearts’ delight! Keep in mind that despite being in open beta, gw2cc is still mostly targeted at developers and early adopters. During the open beta, access to gw2cc costs 5€ per month per (GW2) account.

Warning: gw2cc is currently in open beta and is not a fully-polished product. This means that stuff will eventually go wrong and break!

What you currently get

gw2cc is foremost a platform to develop bots and assist scripts. Importantly, it is not a bot in itself. Instead, it provides you with all the tools that you need to write a bot or assist script on your own. However, multiple community members are currently developing combat assist scripts using gw2cc, and if you ask nicely you might get early access to them. We expect more projects to pop up in the coming weeks and months, so stay tuned!

For developers, almost all core functionality of the game is exposed. This includes pathfinding & movement, combat, items, crafting, quests, and many more. For a more comprehensive list refer to the landing page.

The road ahead

Now that gw2cc offers access to most of GW2’s systems, our efforts for the upcoming months will mostly focus on smoothing out the experience for end-users. This includes long-overdue chores such as writing documentation and tutorials for both developers and users, as well as providing more user-friendly feedback on errors. Of course, with the increased user base we also expect more bugs to pop up that will require fixing. Despite this, gw2cc is not yet feature-complete; so expect smaller additions and changes to the API as well.

The open beta is expected to last between one and two months.