Skip to content

Commit e440f94

Browse files
committed
Basic launcher setup page, add .NET SDK to tool installation list
1 parent 6ff9130 commit e440f94

4 files changed

Lines changed: 73 additions & 4 deletions

File tree

Docs/src/content/docs/guides/devsetup.mdoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ If you wish to use containers instead of SurrealDB and Go, install the latest ve
3434
cd MercuryCore
3535
```
3636

37-
- If not using Git, you can also [download the repository as a compressed archive file](https://github.com/tp-link-extender/MercuryCore/archive/refs/heads/main.zip) (.zip) from the GitHub page and extract it to a directory of your choice.
37+
- If not using Git, you can also [download the repository as a compressed archive file](https://github.com/tp-link-extender/MercuryCore/archive/refs/heads/main.zip) (.zip) from the GitHub page and extract it to a directory of your choice.
3838

3939
2. If not using containers, navigate to the **Economy** directory, and run `go build` to compile the Economy service.
4040

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
title: Launcher setup
3+
description: How to set up the Launcher, the application responsible for starting and handling Client sessions, for local development and production hosting.
4+
---
5+
6+
7+
This guide details how to set up the Mercury Launcher for local development, moderation, and production publishing. More information on the Launcher is available on the [Launcher service page](/services/launcher).
8+
9+
## Requirements
10+
11+
You will need:
12+
13+
- Latest version of [Git](https://git-scm.com) installed (expected as `git`, optional)
14+
- Latest version of [.NET](https://dotnet.microsoft.com) installed (expected as `dotnet`)
15+
- A terminal
16+
17+
## Instructions
18+
19+
{% steps %}
20+
21+
1. Clone the [tp-link-extender/MercuryLauncher](https://github.com/tp-link-extender/MercuryLauncher) repository to a directory of your choice on your local machine, and navigate to the root directory of the repository.
22+
23+
```bash
24+
git clone https://github.com/tp-link-extender/MercuryLauncher
25+
cd MercuryLauncher
26+
```
27+
28+
- If not using Git, you can also [download the repository as a compressed archive file](https://github.com/tp-link-extender/MercuryLauncher/archive/refs/heads/main.zip) (.zip) from the GitHub page and extract it to a directory of your choice.
29+
30+
2. Navigate to the **Config.fs** file and modify the configuration options as desired. See the [Launcher service page](/services/launcher#configuration) for more information on the available configuration options.
31+
32+
3. Run `dotnet run` to test the Launcher. If everything is set up correctly, the Launcher will start building. Once it is complete, it will start, immediately attempting to install the latest Setup deployment from the configured URL. It will not attempt to start the Client or Studio.
33+
34+
- If this command is being run for the first time, a welcome message similar to the following will be printed to the console:
35+
36+
```
37+
Welcome to .NET 10.0!
38+
---------------------
39+
SDK Version: 10.0.200
40+
41+
Telemetry
42+
Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry
43+
44+
----------------
45+
Installed an ASP.NET Core HTTPS development certificate.
46+
To trust the certificate, run 'dotnet dev-certs https --trust'
47+
Learn about HTTPS: https://aka.ms/dotnet-https
48+
49+
----------------
50+
Write your first app: https://aka.ms/dotnet-hello-world
51+
Find out what's new: https://aka.ms/dotnet-whats-new
52+
Explore documentation: https://aka.ms/dotnet-docs
53+
Report issues and find source on GitHub: https://github.com/dotnet/core
54+
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
55+
--------------------------------------------------------------------------------------
56+
```
57+
58+
4. After you have modified the source code as required and are ready to publish the launcher, run the corresponding command for the operating system you wish to publish for:
59+
60+
- Windows: `dotnet publish --nologo -o ./out -r win-x64`
61+
- Linux: `dotnet publish --nologo -o ./out -r linux-x64`
62+
63+
These commands will each place the published executable in the **out** directory.

Docs/src/content/docs/install/index.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ description: Tools needed to use and develop Mercury Core, and how to install th
55

66
This page describes how to install and manage the tools for development and production environments for Mercury Core.
77

8-
98
In the near future, we may provide a program for setting up and installing the necessary tools automatically. Please let us know if you would find that helpful.
109

1110
## Baseline tools
@@ -35,10 +34,16 @@ For running without containers, install the following tools directly.
3534
To set up a development environment, install all tools from the [Baseline tools](#baseline-tools) section, as well as the following.
3635

3736
- [Go](/install/go)
38-
- It's possible to use the container instead if developing the Economy service, though this will be slower to start than compiling and running it directly with Go.
37+
- It's possible to use the container instead if developing the Economy service, though this will be slower to start than compiling and running it directly with Go.
3938

4039
## Production tools
4140

4241
To set up a production environment, install all tools from the [Baseline tools](#baseline-tools) section, as well as the following.
4342

4443
- [Caddy](/install/caddy)
44+
45+
## Other tools
46+
47+
These are the tools needed to set up other parts of the Mercury Suite. They are not required for running Mercury Core.
48+
49+
- .NET SDK, used to build the [Launcher](/services/launcher)

Docs/src/content/docs/services/launcher.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ description: Information about the Lanucher, the application responsible for sta
44
---
55

66
This page provides information about the Mercury Launcher, responsible for downloading, installing, and unpacking Setup deployment packages. It also registers itself with the operating system to handle file associations, and should open when any place is joined from the Site, then launching the Client. An implementation of the Launcher is available at the [tp-link-extender/MercuryLauncher](https://github.com/tp-link-extender/MercuryLauncher) repository.
7+
78
With the modularity of the Mercury Suite, it is not required to use this implementation of the Launcher alongside Mercury Core, and a custom implementation or other launcher can be used instead. However, the custom Setup deployment format is designed to be used with the Launcher, and isn't compatible with the 'standard' deployment format.
89

910
## Configuration
@@ -12,6 +13,6 @@ The Launcher can be configured by modifying the [**Config.fs**](https://github.c
1213

1314
## Building
1415

15-
See the [Launcher setup](/guides/launchersetup) (todo) page for instructions on building the Launcher.
16+
See the [Launcher setup](/guides/launchersetup) page for instructions on building the Launcher.
1617

1718
Any executables published by the building process are ~21MB in size and do not require any existing installation of the .NET SDK or runtime to run, as they are self-contained. These production builds do not contain any debug symbols. Build configuration can be modified by editing the [**MercuryLauncher.fsproj**](https://github.com/tp-link-extender/MercuryLauncher/blob/main/MercuryLauncher.fsproj) file.

0 commit comments

Comments
 (0)