Add pages for libxiv, novus, and update astra install and changelog pages

This commit is contained in:
Joshua Goins 2022-04-27 15:43:22 -04:00
parent 1640e81c0c
commit 356670b644
18 changed files with 262 additions and 97 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.directory
.hugo_build.lock

View file

@ -5,6 +5,8 @@ layout: "single"
A FFXIV launcher that supports multiple profiles and Dalamud plugins. It also supports Windows, macOS and Linux natively!
I recommend reading up the [FAQ](/astra/faq).
![Main Screenshot](main-screenshot.png)
{{< begin-grid >}}

View file

@ -3,105 +3,17 @@
### 0.4.0
**Note: this is not released yet.**
It's time for another big release of Astra! There's a lot of exciting features this time around, including:
#### Game boot updating support
This is a small but important change, as this is a sort of "baby step" towards game patch support. To clairfy, your "game boot" is the files in the `boot` folder in your
game directory. This includes stuff like the official launcher, ffxivboot.exe, among other things. This happens transparently when you log in, just like the official launcher does.
#### Game installation support
Astra can now install the game for you if you don't have it installed already! Unfortunately due to unshield (the library it uses to extract game data from the installer) is not yet available for Windows, so this feature is limited to macOS and Linux users at the moment. I hope to have this fixed soon.
#### Prebuilt binaries and AUR packages are now available!
Now at long last there are now prebuilt binaries available! I'm very sorry this took so long, but I wanted to make sure the launcher was in a good place before I started distributing these to users that aren't developers. However there are some notes for each platform:
##### Windows
Unfortunately I do not have an installer prepared, so this is a "portable binary". Just put this anywhere (it doesn't matter where) and run it. The application data is stored in your `AppData` folder, so it doesn't matter where you place the executable. This should work on any recent Windows version, but I only have tested Windows 10 personally.
Unfortunately, **this application does not auto-update at the moment**.
##### macOS
I do have an Apple Developer license, so the app is notarized to work outside of the App Store. Please confirm the developer reads as "Joshua Goins" so you know the app is coming directly from me. Unfortunately, **this app does not auto-update at the moment**.
##### Linux
If you're on Arch Linux, I also maintain the AUR package so that's an option for you as well. I hope to expand my Linux package offerings later on. Unfortunately there is no other precompiled binaries, but I am working on publishing a Flatpak soon.
### News & Topics
Now you can view the news in Astra, so you aren't missing out! Right now the news selection is incredibly basic, and you only get the main banner nor does it properly "slideshow". I hope to address this soon in a follow up release.
### More asset updates
The asset updater got an overhaul, and now will display in a pretty little dialog window that is now cancellable! Fortunately, this dialog should never show up as the gooatscorp CDN and my webserver is plenty fast to download from, so don't freak out if you don't see anything.
### Additional stuff
* The login error message is now pulled directly from Square Enix's response, such as "timeout" and "locked accout" errors that might occur.
* Astra now uses libxiv. This is included as a submodule so no seperate install is required.
* Astra and nativelauncher's communication is now much more stable, and you will get less bootups with Dalamud not injecting properly.
* Unencrypted game arguments now work again, and custom wine executables are fixed. Thank you @mariakeating for your contribution!
---
### 0.3.1
This is a incremental release, meant for the eventual release on the AUR.
However, it does include some important changes:
* Dalamud assets and runtime are now downloaded automatically and also kept up to date for you.
* System libraries are now used for qt5-keychain and quazip if found on your system.
---
### 0.3.0
Hello again! It's time for another big update :-)
#### Name Change
If you haven't noticed already, I changed the name from `xivlauncher` to Astra! Now that this is finally out of the way, I can start distributing packages (I've started on a PKGBUILD already for Arch users) and it's another step towards being fully stable. Unfortunately this means your **config is lost unless you rename it manually**. Dalamud and nativelauncher will automatically redownload to the new data directory as well, but you can rename that as well.
#### Dalamud support
This is a big feature that I've been working on, and now it's finally ready to enter beta testing! For now, it is required to have **XIVLauncher
installed through Wine already**. The asset updater built into Astra doesn't have the capabilities to bootstrap a fresh Dalamud environment on it's own yet, so XIVQuickLauncher is still required for that purpose, although I recommend having it installed anyway :-)
Simply **tick the "Enable Dalamud Injection" setting** in your profile, and Dalamud/nativelauncher will download automatically and Astra will take care of the injection for you. Major thanks to the XIVQuickLauncher devs for writing the original ACL bypass relocated [here](https://github.com/redstrate/nativelauncher).
Dalamud is also automatically updated to the latest stable version automatically, in the future I hope to expand the updating options.
#### CLI Interface
There is now a basic CLI interface, and see you check all of it's options by running `astra --help`. This is pretty basic, but there's enough to have a nice auto-login script going. This isn't a true GUI-less experience though, as Astra still depends on Qt5 heavily, but I hope this is a good enough :-)
#### Maintenance Checks
The login button is now automatically disabled when Astra detects that the game server is under maintenance. In the future, I hope to make this feature more robust.
#### Arch Linux CI builds
Thank you @pepper-jelly for contributing the Github action, which runs and **automatically generates an Arch Linux binary to download**. This still is not ideal though, as this requires a Github account to download, but in the future I will provide real releases.
#### Settings are reorganized
The settings are reorganized a bit, i'm still not completely happy with the layout but it's much, much better than it was before.
![image](https://user-images.githubusercontent.com/54911369/155547834-08f46a7d-4201-4edb-abc9-c0b2a833eb84.png)
**Gamescope settings** were also added, which includes stuff like width, height, refresh rate and so on. I hope to keep expanding these in the future with more of the wine tweaks. Also, gamescope and gamemode are automatically disabled if they are not installed on your system.
There is now a dedicated Dalamud options box, I hope to expand this in the future with being able to enable/disable mods before launching the game, etc. This is part of my effort to better support dedicated/external tools (#14).
The boot/dalamud versions are now displayed in the profile settings as well!
#### Automatically closing
There is now an option to **automatically "close" Astra when the game is launched**, similar to how the official launcher and XIVQuickLauncher works. Due to how our processes are handled, the actual Astra process does not close, but is hidden until the game itself is closed - and that's when the actual application process quits. This option is **enabled by default**.
#### Tags are now signed
I now have a [public GPG key](https://redstrate.com/gpg-0x1DF57CA30D92A21B-2022-02-02.asc), and I will be **signing tags from now on**. This is to test the waters and make sure my GPG key is stable and works before I start having to sign more stuff - like commits, binary packages, and the like. This is also going to be essential for any packages that have be verified using my key.
#### Experimental stuff
There is also some experimental/untested stuff included in this release. When Endwalker launched, I quickly added [Watchdog](https://github.com/redstrate/astra/wiki/Watchdog) to help me through the long login queues. Also, I managed to forget about Steam support, so I skimmed and implemented a Steam option, but I don't have the game on Steam to test yet.
---

View file

@ -0,0 +1,5 @@
---
title: "0.1.0"
---
First public release!

View file

@ -0,0 +1,18 @@
---
title: "0.2.0"
---
This is a major beta release which adds a bunch new features!
- Multiple profile support
- All of the settings you already use are now configurable, per profile. This includes server type, directx mode, and a whole bunch of neat configurable things. For people testing Sapphire servers or different types of wine this should be extremely useful!
- Encrypted game argument support
- On Windows, FFXIV "encrypts" (not really, just obfuscates) the game arguments otherwise your game login token (SID) is in plain-text. This now matches the behavior of the official xivboot.exe and also XIVQuickLauncher. This will become the new default option in the next release.
- Big thanks to XIVQuickLauncher where the code is based off of, as well as the information on xivdev.
- Custom wine prefix/executable options on Linux and macOS
These bugs are also fixed:
- Windows dependencies are now copied when building
- Windows "open game directory" button now works
- The built-in game wine is now the default (for real this time) on macOS

View file

@ -0,0 +1,45 @@
---
title: "0.3.0"
---
Hello again! It's time for another big update :-)
#### Name Change
If you haven't noticed already, I changed the name from `xivlauncher` to Astra! Now that this is finally out of the way, I can start distributing packages (I've started on a PKGBUILD already for Arch users) and it's another step towards being fully stable. Unfortunately this means your **config is lost unless you rename it manually**. Dalamud and nativelauncher will automatically redownload to the new data directory as well, but you can rename that as well.
#### Dalamud support
This is a big feature that I've been working on, and now it's finally ready to enter beta testing! For now, it is required to have **XIVLauncher
installed through Wine already**. The asset updater built into Astra doesn't have the capabilities to bootstrap a fresh Dalamud environment on it's own yet, so XIVQuickLauncher is still required for that purpose, although I recommend having it installed anyway :-)
Simply **tick the "Enable Dalamud Injection" setting** in your profile, and Dalamud/nativelauncher will download automatically and Astra will take care of the injection for you. Major thanks to the XIVQuickLauncher devs for writing the original ACL bypass relocated [here](https://github.com/redstrate/nativelauncher).
Dalamud is also automatically updated to the latest stable version automatically, in the future I hope to expand the updating options.
#### CLI Interface
There is now a basic CLI interface, and see you check all of it's options by running `astra --help`. This is pretty basic, but there's enough to have a nice auto-login script going. This isn't a true GUI-less experience though, as Astra still depends on Qt5 heavily, but I hope this is a good enough :-)
#### Maintenance Checks
The login button is now automatically disabled when Astra detects that the game server is under maintenance. In the future, I hope to make this feature more robust.
#### Arch Linux CI builds
Thank you @pepper-jelly for contributing the Github action, which runs and **automatically generates an Arch Linux binary to download**. This still is not ideal though, as this requires a Github account to download, but in the future I will provide real releases.
#### Settings are reorganized
The settings are reorganized a bit, i'm still not completely happy with the layout but it's much, much better than it was before.
![image](https://user-images.githubusercontent.com/54911369/155547834-08f46a7d-4201-4edb-abc9-c0b2a833eb84.png)
**Gamescope settings** were also added, which includes stuff like width, height, refresh rate and so on. I hope to keep expanding these in the future with more of the wine tweaks. Also, gamescope and gamemode are automatically disabled if they are not installed on your system.
There is now a dedicated Dalamud options box, I hope to expand this in the future with being able to enable/disable mods before launching the game, etc. This is part of my effort to better support dedicated/external tools (#14).
The boot/dalamud versions are now displayed in the profile settings as well!
#### Automatically closing
There is now an option to **automatically "close" Astra when the game is launched**, similar to how the official launcher and XIVQuickLauncher works. Due to how our processes are handled, the actual Astra process does not close, but is hidden until the game itself is closed - and that's when the actual application process quits. This option is **enabled by default**.
#### Tags are now signed
I now have a [public GPG key](https://redstrate.com/gpg-0x1DF57CA30D92A21B-2022-02-02.asc), and I will be **signing tags from now on**. This is to test the waters and make sure my GPG key is stable and works before I start having to sign more stuff - like commits, binary packages, and the like. This is also going to be essential for any packages that have be verified using my key.
#### Experimental stuff
There is also some experimental/untested stuff included in this release. When Endwalker launched, I quickly added [Watchdog](https://github.com/redstrate/astra/wiki/Watchdog) to help me through the long login queues. Also, I managed to forget about Steam support, so I skimmed and implemented a Steam option, but I don't have the game on Steam to test yet.

View file

@ -0,0 +1,9 @@
---
title: "0.3.1"
---
This is a incremental release, meant for the eventual release on the AUR.
However, it does include some important changes:
* Dalamud assets and runtime are now downloaded automatically and also kept up to date for you.
* System libraries are now used for qt5-keychain and quazip if found on your system.

View file

@ -0,0 +1,45 @@
---
title: "0.4.0"
---
It's time for another big release of Astra!
#### Game boot updating support
Astra now supports updating your boot patches on startup, which is big news and a nice first step towards proper patching support! To clairfy, your "game boot" is the files in the `boot` folder in your game directory. This includes stuff like the official launcher, `ffxivboot.exe`, among other things. This happens transparently when you log in, just like the official launcher does.
![Boot Update Screenshot](/astra/changelog/update-screenshot.png)
While this is no proper game patch support, I plan to temporarily remedy this in a minor release soon. You'll have a choice between several "patchers" (my experimental one, XIVQuickLauncher.PatchInstaller, maybe official?) you can choose from when the game requires an update.
#### Game installation support
Astra can now install the game for you if you don't have it installed already! Unfortunately due to unshield (the library it uses to extract game data from the installer) is not yet available for Windows, so this feature is limited to macOS and Linux users at the moment. I hope to have this fixed soon, but this is a neat feature nevertheless.
#### Prebuilt binaries and AUR packages are now available!
Now at long last there are now prebuilt binaries available! I'm very sorry this took so long, but I wanted to make sure the launcher was in a good place before I started distributing it to users that aren't developers. Check out the [Install page](/astra/install) for more information!
#### News & Topics
You can now view the current banners, topics, and other news right inside the launcher! Minimalist users can find that they can individually turn off banners and/or the news list, if they prefer the look of the old launcher. In the future I plan to expand this feature even further, but this should now be on par with other launcher's offerings.
![News Screenshot](/astra/changelog/news-screenshot.png)
#### More asset updates
The asset updater got an overhaul, and now will display in a pretty little dialog window that is now cancellable! Fortunately, this dialog should never show up as the gooatscorp CDN and my webserver is fast enough that you usually
won't see it.
![Asset Update Screenshot](/astra/changelog/asset-screenshot.png)
#### Additional stuff
* The login error message is now pulled directly from Square Enix's response, so timeouts, locked accounts and other
esoteric login messages will be shown to you properly.
* Dalamud injection is much more stable, and there's now a much smaller chance of your game booting up without Dalamud starting up properly.
#### Contributions
Thank you @mariakeating for fixing these bugs!
* Unencrypted game arguments were not formatted properly.
* Custom wine paths were not loaded on startup.

View file

@ -0,0 +1,4 @@
---
title: "Astra Changelog"
layout: "list"
---

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

38
content/astra/faq.md Normal file
View file

@ -0,0 +1,38 @@
---
title: "Astra - Frequently Asked Questions"
---
***Why should I use this over the official launcher?***
For **Windows** users, this launcher supports Dalamud plugins which enable useful functionality not available in the
vanilla game client. If you have multiple accounts, you'll find the profiles feature to be useful as well. Unlike the
PC launcher, Astra allows you to save your password.
For **macOS** users, the same features from above apply, since the Astra is cross-platform. The official launcher is also ran in Wine, which is slow, buggy and somehow manages to get stuck on your cursor. Everything else applies from above.
For **Linux** users, everything above applies still.
---
***Why should I use this over XIVQuickLauncher?***
For **Windows** users, you'll be happy with either since Astra, XIVQuickLauncher and FFXIV itself supports this just fine.
For **macOS** users, XIVQuickLauncher isn't even available so tough luck there.
For **Linux** users, you do have an easy Lutris install script to use XIVQuickLauncher - but Astra is completely native and all of the nice features listed above applies.
---
***What's some other neat stuff I should know?***
You can login into Sapphire servers using a different profile, bypassing the need for the Sapphire Launcher especially
since it only supports Windows. Naturally, Dalamud injection and everything else should work as well.
If you're looking for an even better and out-of-box FFXIV experience on macOS, check out XIV on Mac! They have a similiar feature set and provide own bundled Wine with modern DXVK and other goodies.
---
***How secure is this? Can I trust Astra with saving my credentials and launching my game?***
The code is open source, and the boot/launcher portion is contained here and here for your code reading pleasure. For saving passwords, we leverage qtkeychain which uses your already secure system wallet and will not put anything in plaintext.

View file

@ -1,19 +1,43 @@
## Installation
---
title: "Astra - Installation"
---
The current version is [v0.4.0](/astra/changelog). You can tell which version you have by reading it in the `About` menu under `Help`.
The current version is [0.4.0](/astra/changelog).
**Note:** Windows and macOS users currently have to check for updates manually. You can tell which version you have by reading it in the `About` menu under `Help`. I hope to remedy this in the next major release.
### Windows
[Portable EXE](https://xiv.zone/astra-distrib/windows/Astra.exe)
[Portable ZIP](https://xiv.zone/distrib/astra/0.4.0/astra-0.4.0-win-x64.zip)
SHA256: `e283e6f65abe3546942d17ba240300edc96e2bcb51bf29790b6779be2a5ba7aa`
### macOS
[App](https://xiv.zone/astra-distrib/macOS/Astra.app)
[App](https://xiv.zone/distrib/astra/Astra.app)
_Note: The app is signed and the developer should read as "Joshua Goins"._
### Linux
[AUR](https://aur.archlinux.org/packages/astra-launcher)
I'm only providing a Flatpak for now. To install Astra on your Linux system, follow these instructions:
[Tarball](https://xiv.zone/astra-distrib/macOS/Astra.app)
1. [Install Flatpak](https://www.flatpak.org/setup/) if it's not already on your system.
2. [Download the flatpakrepo file](https://www.flatpak.org/setup/) and install it using your preferred GUI Flatpak manager or through the command line:
`flatpak remote-add xiv.zone https://xiv.zone/distrib/flatpak`
3. You can install it directly through your GUI Flatpak manager, or directly from the command line:
`flatpak install xiv.zone.Astra`
A benefit of Flatpak is that it works across most distributions, and I'm able to control the repository so you'll get
any updates without any hassle.
If you're an Arch Linux user, I also maintain the [AUR package](https://aur.archlinux.org/packages/astra-launcher). You can find the PKGBUILD [here](https://git.sr.ht/~redstrate/pkgbuilds/tree/main/item/astra-launcher/PKGBUILD) and the original Flatpak manifests [here](https://git.sr.ht/~redstrate/astra-flatpak).
### Source Code
[Tarball](https://xiv.zone/distrib/astra/0.4.0/astra-source.tar.gz)
SHA256: 97c1f77535d240e56f19a19a8d22c61d57064a20b72ffd524b9206a3fca7860c

17
content/libxiv/_index.md Normal file
View file

@ -0,0 +1,17 @@
---
title: "libxiv"
layout: "single"
---
A modding framework for FFXIV written in C++. This is used in Novus (my custom modding tool) and Astra (my custom launcher) but can easily be integrated into your own projects.
**Note:** This is still an experimental and in-development library. Thus, I have not tagged any stable releases. It's recommended just to checkout from main.
## Get Involved & Support
{{< begin-grid >}}
{{< blurb title="Get Source" description="The full source code for libxiv is available on sourcehut." url="https://sr.ht/~redstrate/libxiv" >}}
{{< blurb title="Give Feedback" description="Send an email on the mailing list for feature requests, bugs, and patches." url="https://lists.sr.ht/~redstrate/public-inbox" >}}
{{< blurb title="Donate Money" description="Any monetary contribution helps so I can continue working on this in my free time." url="https://ko-fi.com/redstrate" >}}
{{< end-grid >}}

19
content/novus/_index.md Normal file
View file

@ -0,0 +1,19 @@
---
title: "Novus"
layout: "single"
---
This is a collection of cross-platform, FFXIV modding tools. These don't use any pre-existing modding framework (Lumina, xivModdingFramework, etc) but instead my own custom modding library, libxiv.
The goal is to create a good set of tools that isn't based on WPF and C#, and can work cross-platform without having to resort to Wine.
**Note:** This is alpha level software, not intended to be usable in any capacity at the moment. Thus, I have not tagged any stable releases.
## Get Involved & Support
{{< begin-grid >}}
{{< blurb title="Get Source" description="The full source code for Novus is available on sourcehut." url="https://sr.ht/~redstrate/novus" >}}
{{< blurb title="Give Feedback" description="Send an email on the mailing list for feature requests, bugs, and patches." url="https://lists.sr.ht/~redstrate/public-inbox" >}}
{{< blurb title="Donate Money" description="Any monetary contribution helps so I can continue working on this in my free time." url="https://ko-fi.com/redstrate" >}}
{{< end-grid >}}

View file

@ -1,3 +1,9 @@
{{ define "main" }}
{{ range .Data.Pages.ByDate.Reverse }}
<h2>{{ .Title }}</h2>
{{ .Content }}
<hr>
{{ end }}
{{ end }}

View file

@ -1,5 +1,24 @@
{{ define "main" }}
<ul>
<li><a href="/astra">Astra</a> - a cross-platform FFXIV launcher.</li>
</ul>
Hello and welcome to xiv.zone, I host a couple of my FFXIV-related projects here:
<div class="buttons">
<a href='/astra' class="blurb-button">
<h4>Astra</h4>
Cross-platform FFXIV launcher
</a>
<a href='/novus' class="blurb-button">
<h4>Novus</h4>
Cross-platform FFXIV modding tools
</a>
<a href='/libxiv' class="blurb-button">
<h4>libxiv</h4>
Custom FFXIV modding framework
</a>
</div>
{{ end }}