5253 Commits

Author SHA1 Message Date
UnknownShadow200
eb41330637 Get .NET core compilation to work, probably 2022-06-11 15:29:00 +10:00
UnknownShadow200
e4b0c60270 Get .NET core compiler to actually run 2022-06-11 14:45:44 +10:00
UnknownShadow200
e1a521e37b WIP on C# compiler support for .NET core build 2022-06-11 13:31:33 +10:00
UnknownShadow200
088bcebb8a Add .NET core/5/6 compiling instructions 2022-06-11 10:13:15 +10:00
UnknownShadow200
88c5c1dac3 Linux: Fix rare case where GUI would crash at startup (mostly when using standalone builds compiled with mkbundle)
This happened due to two factors:

1) the standalone build would show a message box warning because it couldn't change the current/working directory
2) the gui schedules InitServerTask to run on the background thread. This in turn will eventually call Server.Start on the background thread, which in turn will call Logger.Log(..) which in turn calls back to Window.LogMessage

Note that the UI can only be updated from the main/UI thread. Normally this wouldn't cause any issues, because LogMessage checked whether 'InvokeRequired' returned true or not - if it did, then LogMessage scheduled the message to be logged later on the main/UI thread by using BeginInvoke.

However, it was rarely possible that due to thread scheduling, the call to LogMessage from the background thread would be run *before* the main window control handle had finished being created.
And unexpectedly, 'InvokeRequired' would return *false* if the main window handle hadn't been created yet - and hence the background thread would attempt to directly update UI controls with catastrophic consequences. Sometimes this worked, but other times it would cause the app to SIGABRT and crash in X11 somewhere, usually in X11Keyboard:XCreateFontSet

So to workaround this I made the following changes:
1) failing to set working/current directory doesn't show a warning message box popup anymore
2) LogMessage doesn't check 'InvokeRequired' anymore and just always calls BeginInvoke to schedule the message logging on the main/UI thread

So in the most of the rare cases when this issue even happened, it shouldn't occur anymore now. However, the underlying issue still isn't completely solved.. if you change the code to show a message box before the main window, you'll still rarely end up with the main window being a black box with X11
2022-06-06 23:11:24 +10:00
UnknownShadow200
6ddca94b54 Discord: Fix being able to send presence update before bot has identified, which could rarely happen and thus cause the discord bot to get disconnected with websocket close code 4003 2022-06-03 23:18:06 +10:00
UnknownShadow200
3344b18c5c Fix alts message sometimes showing to lower ranked players while hidden (Thanks Venk)
Also make /info extra permission slightly more generic
2022-06-02 18:18:02 +10:00
UnknownShadow200
5df9c88d1b Fix frozen players not getting /summoned (and /tp, /portal etc) (Thanks BlitzK) 2022-05-30 18:02:00 +10:00
UnknownShadow200
ef9449d7b0 Remove Visual Basic references in /compile and /cmdcreate
Although still documented on the wiki, I decided to simplify in-game help by removing it because

1) basically none of the current public command/plugin ecosystem uses visual basic
2) even when mono-complete is installed, you don't get a Visual Basic compiler (still need to install another package for it)
2022-05-28 17:08:18 +10:00
UnknownShadow200
4cefdc2bf1 Add /whitelist enable/disbale to turn on/off whitelisted only mode (Thanks SpicyCombo) 2022-05-26 23:33:49 +10:00
UnknownShadow200
10a91128d7 Make GUI work with mkbundle 2022-05-26 22:48:33 +10:00
UnknownShadow200
eae64acf20 Make /fliphead usable without ZS running 2022-05-26 18:51:29 +10:00
UnknownShadow200
9a869297b2 Combine SqlQuery into IDatabaseBackend 2022-05-25 22:44:41 +10:00
UnknownShadow200
7952de48d3 Auto unloading of levels by game round ending and moving to a different level shouldn't still message operators saying the level was unloaded
Also fix GUI enabled/disabled logging options being wrongly controlled by 'file logging' instead of 'console logging' server option
2022-05-24 22:48:23 +10:00
UnknownShadow200
f0eaca68a5 Make ClassicProtocol not dependant on ZSGame for checking whether a player needs to have their head flipped when the target player's client doesn't support custom models 2022-05-24 12:12:32 +10:00
UnknownShadow200
b5909cc1a2 Prevent console from trying to generate levels over 2 GB in size 2022-05-21 23:25:35 +10:00
UnknownShadow200
f2b8ef5e43 Fix ipv4 mapped ipv6 addresses not triggering IP connection spam blocking
Since MCGalaxy only supports ipv4 connections by default this won't affect majority of servers
2022-05-21 09:19:08 +10:00
UnknownShadow200
da78b98006 Improve /compile help and move /pcompile into /compile, also add shortcut /br for /brush 2022-05-16 23:16:24 +10:00
UnknownShadow200
a9c39eec7c Improve CmdCreate creation and help text 2022-05-15 18:56:02 +10:00
UnknownShadow200
f0005c754d WIP splitting up scripting into dll scripting and source code compiling 2022-05-15 18:47:41 +10:00
UnknownShadow200
3096e355d3 Fix backup summary messages in /restore, /museum etc showing plain level name instead of coloured level name 2022-05-15 18:34:34 +10:00
UnknownShadow200
abc458aaca Change /sinfo to show total number of levels too, also bump default max players count from 12 to 16 2022-05-14 23:56:12 +10:00
UnknownShadow200
1d4445b240 Make /time use yyyy-mm-dd format, as well as /server backup db 2022-05-11 23:20:41 +10:00
UnknownShadow200
7e0ff9a89d Flatgrass theme should generate grass layer at middle layer of map, instead of one layer above it (Thanks fizzwhiz) 2022-05-08 20:36:23 +10:00
UnknownShadow200
677894d5e5 avoid explicit namespace in /cmdcreate example commands 2022-05-04 08:23:35 +10:00
UnknownShadow200
6476c0cafc /outline should be usable even if you can't modify the target block, some other minor improvements
CmdCreate generated example commands now use LevelPermission.Owner instead of LevelPermission.Nobody
ReplaceBrush now says 'replace' instead of 'draw with' when don't have permission to modify the block
2022-05-03 21:21:39 +10:00
UnknownShadow200
a66a22c644 Improve DrawOp documentation and prefer explicit GetBlockIfAllowed instead 2022-05-03 14:29:34 +10:00
UnknownShadow200
fd0ca4a12a Remove DrawOp.SetLevel and just use DrawOp.Setup everywhere for consistency 2022-05-02 22:14:10 +10:00
UnknownShadow200
97d24dcc55 Fix some comments 2022-05-01 17:25:47 +10:00
UnknownShadow200
8c7d992ea2 Remove a few unused methods/properties 2022-05-01 08:44:47 +10:00
UnknownShadow200
56e0f71585 Fix /mi env sometimes wrongly showing exponential fog as enabled (Thanks fizzwhiz) 2022-04-29 20:57:47 +10:00
UnknownShadow200
382b481b91 Move cancelmove field into cancel argument instead 2022-04-29 08:29:49 +10:00
UnknownShadow200
cf08e50190 Move Session.ID to Session class 2022-04-28 17:03:22 +10:00
UnknownShadow200
3e91981c07 fix a few minor issues in GUI tooltips 2022-04-26 23:44:10 +10:00
UnknownShadow200
c5dbaa1a1a More custom protocol fixes 2022-04-25 17:32:15 +10:00
UnknownShadow200
bebd36ad70 More work on custom protocol support 2022-04-25 17:04:02 +10:00
UnknownShadow200
1bdb33e69b More WIP on custom protocols, remove secure websocket since it'll be moved to a plugin 2022-04-25 16:08:28 +10:00
UnknownShadow200
52987ec51a WIP on custom protocol support 2022-04-25 13:20:00 +10:00
UnknownShadow200
ead5b8cc6b
Update readme to mention simple apt install on ubuntu, update instructions for latest release 2022-04-21 22:33:37 +10:00
UnknownShadow200
6a5c4eb708 Log when non-existent portals/message blocks are autodeleted from a level 2022-04-21 21:56:24 +10:00
UnknownShadow200
d6bf620979 Simplify maze random number generation and allow specifying a seed for repeatable maze generation (Thanks Goodly) 2022-04-21 21:28:47 +10:00
UnknownShadow200
e4eae8a223 Inbox now includes message number and slightly offsets message (Thanks Venk) 2022-04-20 23:42:17 +10:00
UnknownShadow200
193393be52 Release 1.9.4.0 1.9.4.0 2022-04-19 23:03:07 +10:00
UnknownShadow200
df6d99a976 Remame ranks with duplicate/hardcoded names at first, and only if that fails, remove the rank 2022-04-18 21:10:09 +10:00
UnknownShadow200
b2463a1664 Allow /limit of 0, fixes #699 (Thanks Empy) 2022-04-17 12:25:54 +10:00
UnknownShadow200
8873b949ed Allow resetting passwords of offline players, and any players ranked Owner+ can reset password
For backwards compatibility, the player whose name equals server owner in server.properties is still allowed to /reset pass
2022-04-16 23:05:38 +10:00
UnknownShadow200
1256f1be5f Remove some unused options from server.properties
Also change default color for owner rank to Maroon (Thanks Goodly)
2022-04-06 22:54:26 +10:00
UnknownShadow200
13a2a65967 Allow /take ing money from yourself
Also minorly improve messages when trying to use /setrnak to ban/unban
2022-04-04 23:28:17 +10:00
UnknownShadow200
30a6feb2ba IRC tidy up, part 3 2022-04-01 23:14:32 +11:00
UnknownShadow200
740d39c1fc IRC: Simplify code, part 3 (Remove UserInfo) 2022-03-31 22:45:13 +11:00