Edit: ⚠️ The release CelesteNet.Server-2024-09-23.zip
that was attached here was missing the HTML / JS frontend files and so your localhost server wouldn't have any website to it..... fixed in attached zip now, 2024-11-11 🤡
Client releases of the Celeste Mod are on Gamebanana! This release here is a server build.
https://gamebanana.com/mods/53695
🎉 First time ever -- since we finally don't risk bundling Celeste.dll anymore after #154 🫠
For now I'm just gonna use Client version numbers: Until now Server had no versioning, the most I personally have done for organization is create the milestones here on GH...
Needs .NET 7.0 Runtime
https://dotnet.microsoft.com/en-us/download/dotnet/7.0
How to run after unzip:
Run CelesteNet.Server.exe
(only if you're on Windows), or with dotnet
command:
cd .../net7.0/
dotnet ./CelesteNet.Server.dll
After running for the first time, celestenet-config.yaml
and ModuleConfig
should be generated, if you want to adjust settings, e.g. configure Discord OAuth in CelesteNet.Server.FrontendModule.yaml
etc.
Connecting:
- Connecting to
localhost
is an option in the Mod Settings in game for CelesteNet.Client - You can use
con localhost
in the Celeste debug console in-game, but it is a temporary override - edit the corresponding section in
.../Celeste/Saves/modsettings-CelesteNet.Client.celeste
like so:
[...]
Server: celeste.0x0a.de
ExtraServers:
- localhost
[...]
You can add other entries to ExtraServers and a selection entry will show up in Mod Options to switch between them. The default server is always part of the options, even when Server
is changed.
There is also the option in the settings file:
ClientIDSending: NotOnLocalhost
which you could change to Off
if you want to connect with two instances of the same Celeste installation (which have a random "ClientID" in their settings and they'll be identical).
This feature is intended to detect when someone reconnects after a timeout, before the Server has removed the previous session, which would then disconnect the "old" connection. The default value of NotOnLocalhost
already disables this behavior when connecting to localhost
(mainly for Nucleus co-op) but not for servers like the official one or any other IP/domain.