UnknownShadow200 ada34d4c32 GUI: Fix icon not showing in popup dialogs on Mono
This took a long time to figure out because
1) for testing purposes I set Icon before the window handle had been created
2) When the window handle was later created, mono would not actually apply the custom icon since the border style is FixedDialog (see CreateHandle in Form.cs)
3) I later set Icon again in multiple other places. However, this was essentially a noop because Mono checked if the new icon was the same as the same previously assigned icon and do nothing in that case.
However, the assumption in step 3) was incorrect because the previously assigned icon had not actually been applied to the window.
Unfortunately this meant the correct Icon never showed at all. So the correct solution to this is to only assign Icon once in the Load event of forms.

I spent way too much time on this
2021-11-11 22:31:59 +11:00
2021-07-18 09:11:03 +10:00
2021-11-07 12:14:04 +11:00
2021-11-07 12:14:04 +11:00

MCGalaxy is a fully featured and customisable ClassiCube Server Software based on MCForge/MCLawl.

Setup

Download the latest MCGalaxy release from here

  • Windows: You need to install .NET framework 4.0. Windows 8/10 already have this included.
  • Linux/macOS: You need to install the Mono framework.

Run MCGalaxy.exe for a graphical interface, or run MCGalaxyCLI.exe for command line only.

Joining your server

Run MCGalaxy.exe or MCGalaxyCLI.exe firstly. You'll see something like: opt3

If you are signed in to classicube.net, you can copy this URL straight into your web browser and start playing.

Joining from the desktop client

Click Direct connect at the main menu. opt1

Type your username into Username, 127.0.0.1:25565 into IP:Port, and leave Mppass blank. Then click Connect. opt2

Make yourself owner

After joining, you will want to rank yourself owner so you can use all commands.

Type /rank [your account] superop into the bottom text box, then press Enter.

opt4

Letting others join your server

LAN players

You need to find out your LAN/local IP address.

  • Windows: Type ipconfig into Command Prompt. Look for IPv4 address in the output.

To join from a web browser, add ?ip=[lan ip] to the server's URL.
(e.g. http://www.classicube.net/server/play/d1362e7fee1a54365514712d007c8799?ip=192.168.1.30)

To join from the desktop client, Direct connect to [lan ip]:25565 instead. (e.g. 192.168.1.30:25565)

Across the internet

You need to port forward your router. Players can then join by entering the server URL into their web browser.

For the desktop client:

  • Click Sign in.
  • Type/paste the hash (e.g. d1362e7fee1a54365514712d007c8799) into the classicube.net/server/play text box.
  • Click Connect.

Show on classicube.net server list

Click Settings in the MCGalaxy window, then tick the Public checkbox. Then click Save.

This makes your server appear in the server list on classicube.net and in the desktop client.

Compiling

With an IDE:

  • Visual Studio : Open MCGalaxy.sln, click Build in the menubar, then click Build Solution. (Or press F6)
  • SharpDevelop: Open MCGalaxy.sln, click Build in the menubar, then click Build Solution. (Or press F8)

Command line:

  • For Windows: Run MSBuild command prompt for VS, then type msbuild MCGalaxy.sln into command prompt
  • Modern mono: Type msbuild MCGalaxy.sln into Terminal
  • Older mono: Type xbuild MCGalaxy.sln into Terminal

Copyright/License

See LICENSE for MCGalaxy license, and license.txt for code used from other software.

Docker support

Some unofficial dockerfiles for running MCGalaxy in Docker:

Description
A Minecraft Classic / ClassiCube server software
Readme SSPL-1.0 92 MiB
Languages
C# 99.9%
Shell 0.1%