-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog.txt
2146 lines (2067 loc) · 122 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
v 1.9.4.9
Improved: Allow using block names in /lb and /gb commands (e.g. /lb edit, /gb copy, etc)
Improved: Try to preserve process's raw command line arguments when restarting on Linux
Improved: Change /compload to also unload the command/plugin first
Improved: Port forwarding GUI now also has logs panel
Improved: /pload and /punload output message now also includes name of plugin
Improved: Plugins can now use CPE message priority to temporarily override and then restore lower priority CPE messages
Improved: Log which levels have their saving deliberately skipped at shutdown/restart (e.g. due to games)
Improved: Support 'all processes CPU usage' in /ServerInfo on FreeBSD too
Improved: /help transform rotate
Fixed: Doing /info [name] when there were over 100 partial matches before an exact match, would still show 'multiple names matched' instead of displaying the information of the exactly matching player
Fixed: Prevent being able to load the same plugin multiple times
Fixed: Changed PlayerDB data lookup on login to be case insensitive when name verification is disabled and the player's name is unverified
Fixed: Some issues occurring when server runs in unsupported mode of having both classicube-account-plus enabled and player name suffixes for login authentication services
Fixed: GUI getting stuck in restart loop when System.Windows.Forms DLL loaded successfully, but System.Drawing DLL failed to load
Minigame related changes:
Added: Item for buying doors in Lava Survival
Improved: Can now configure collision check interval for Zombie Survival, and slightly reduce default interval
Improved: Can now configure collision check interval for Capture the Flag, and slightly reduce default interval
Fixed: Opening settings GUI or doing /server reload would cause server main level to get loaded, even when a game that changed main level was running
v 1.9.4.8
Added: Mojang server login authentication support (for Betacraft)
Improved: /highight now displays how many changes were found (Thanks Goodly)
Improved: Doing /spawn should always respawn you at level spawn
Improved: Move /server update to separate /update command
Improved: Increase summary errors when compiling fails from 2 to 5
Improved: Allow changing death invulnerability cooldown from default of 1 second
Improved: /store list output is now paginated
Improved: /SInfo now includes number of CPU cores in output
Improved: Kick message for unsupported protocol version also includes version number
Fixed: Some markdown characters not being escaped for messages sent to Discord
Fixed: Some physics entries wrongly never getting removed from physics list
Fixed: Multiple people changing a block definition at the same time sometimes erroring
Fixed: disabled-command option in server.properties not working
Fixed: Messages with over 2000 characters failing to send to Discord
Fixed: Main level should always ignore visit permission restrictions
Removed: Unused destroys chance from LS map settings in GUI
Map generator related changes:
Improved: Allow providing spaces in map gen args to provide multiple arguments
Improved: Heightmap map gen theme now uses biome
Improved: Flat and space themes now use biome blocks and env
Improved: Pixel/empty/rainbow themes now use biome env
Fixed: Doing '/os map add' with two arguments doing nothing
v 1.9.4.7
Game related changes:
Added: LS: /lives command for showing you current number of lives
Added: LS: Can now set default round/flood times
Added: LS: Items for buying sponges and water blocks
Improved: Discord bot shows running games in .who output
Improved: Countdown: Can now specify default game speed in config
Improved: Countdown: Money is now rewarded for surviving
Improved: ZS: Can now configure reward money
Improved: LS: Money is now rewarded for surviving
Improved: LS: All blocks now burn after a delay when not in Calm mode
Improved: LS: Prevent placing blocks near lava spawn by default
Improved: LS: Water/lava killable blocks (e.g. log) don't insta-burn in Disturbed mode
Improved: LS: Show money and lives left in top right (for CPE clients)
Improved: LS: Show message in chat when you lose a life
Improved: LS: death cooldown increased to 30 seconds
Improved: LS: has sponges automatically disappear after configurable delay
Improved: LS: Limit number of water blocks that can be placed
Improved: LS: Move layer options to separate section of /ls set
Improved: LS: Allow negative layer heights (i.e. allows lava layers from top to bottom of level)
Fixed: ZS: Rare issue where when players joined server at very end of round countdown would get added to alive/human list but then subsequently get auto infected
Fixed: LS: Sponge/water block not being reverted client-side when insufficient permission to place the block
Fixed: LS: Message not showing in chat when layer flooding starts
Fixed: LS: Layer flooding not resetting properly when continuing next round on same level
Map generator related changes:
Added: Sandy and Plains map gen biomes
Improved: Realistic map gen now support biomes
Improved: Classic map gen now support biomes
Improved: 3D noise map gens now support biomes
Improved: Desert biome no longer has water
Improved: Biomes can now specify custom tree type
Improved: fCraft Hills and Mountains themes default to Plains biome
Fixed: Hell map gen theme sometimes having gaps between levels of lava for very vertically small maps
Removed: Checkerboard map gen theme
Other:
Improved: Discord: Strip ** from messages (so that cross-server discord relay channels look nicer)
Improved: Save all physics checks to .lvl file (not just those with non-zero args)
Improved: Always show client name in 'player X connected' message (even for non-CPE clients)
Improved: /tree notch now uses exact same tree generator as original classic
Improved: Log warning when a command/plugin dll fails to find a DLL it depends on
Improved: Log how long garbage collection takes
Fixed: Could set CopySlots of a rank to 0 in ranks.properties
Fixed: Can't connect to server on Windows 98 in .NET 2.0 build
Fixed: Economy transaction descriptions showing currency at time of transaction instead of current currency
v 1.9.4.6
Added: LS: Configuration option for flood upwards chance
Added: LS: Players can place sponges to stop lava flow (can place up to 10 per round by default)
Added: LS: Added item to store for buying another life
Added: /copyslot random to allow randomly selecting between used slots
Added: GUI: Countdown now appears in Games settings
Improved: 2D noise map generator themes now support biomes
Improved: Desert map generator biome now has a Sandstone border
Improved: Allow providing explicit seed for fCraft map generator
Improved: Make fCraft map generator ~45% faster
Improved: Be more consistent in map generation messages
Improved: LS: Always uses uniform water/lava flow now
Improved: LS: Show CPE announcement message when 10 seconds or less left until flood starts
Improved: LS: Flooding lava/water always kills players now
Improved: LS: Default to 50% chance for flood to destroy blocks
Improved: LS: /time now shows flood and round time (when LS is running)
Improved: LS: All items are now enabled by default
Improved: ZS: All items are now enabled by default
Improved: Allow like/dislike to be used when any game is running (not just LS or ZS)
Improved: All games now show an informational message to players upon joining server
Improved: Allow disabling built-in plugins/modules
Improved: Don't reload custom commands and plugins anymore when doing /server reload
Improved: Don't show 'Plugin X was unloaded' at server shutdown
Improved: Message when can't /cmdset a command due to lacking required permissions
Improved: GUI: Initial status message is now 'Starting server' (instead of 'finding classicube.net URL')
Fixed: fCraft dunes/ice map generator themes not using right default biome
Fixed: LS: Fix flood messages being '4m 59s' instead of '5m'
Fixed: LS: Fix block/flood type messages not showing when auto going to next level
Fixed: ZS: Items only appear in store when ZS is running now
Fixed: Don't show built-in modules in /plugins anymore
Fixed: Non-200 heartbeat responses not being logged
Fixed: Water flooding from map edges option not behaving correctly
Removed: Obsolete /top stat by index number
Removed: Visual Basic compiling support is now an external plugin
v 1.9.4.5
Improved: Allow providing reasons for IP bans
Improved: Allow over 32767 deaths when using SQLite as database backend
Improved: /whonick output when multiple matching player/bot nicks
Improved: Discord relay bot logs less messages when disconnected
Improved: 'multiple matching players/ranks/loaded levels' messages now also include colours
Improved: Allow using more chat/info/quit commands when frozen
Fixed: Don't send heartbeats when server fails to start listening
Fixed: Realistic map gen erroring when map height was 4 blocks or less
Fixed: Leaves should still propagate physics checks even when leaf decay is disabled
v 1.9.4.4
Added: ExtEntityTeleport CPE (Thanks Goodly)
Added: Allow using ReplaceBrush as a /brush
Added: Grid brush (gridlines)
Added: disabled-commands option to server.properties to allow completely removing built-in commands
Improved: Support for forwarding user's IP when connecting through a websocket reverse proxy
Improved: `/setspawn` now tries to avoid changing your current position
Improved: Make /Notes use paginated output
Improved: Checkered brush also supports providing frequencies/weights for blocks
Improved: Majorly increase default realms limit for admin/owner ranks
Improved: CTF: Set default Y of spawn and flags to middle of level
Improved: ZS: Allow turning off a player dying always resulting them in being infected
Improved: GUI: Change Undo input feld in Players tab to timespan input
Improved: Simplify /BlockSpeed command
Improved: Discord relay bot now refuses to start instead of just logging a warning when lacking required permissions
Fixed: Prevent using /Spawn while a game is running
Fixed: Games couldn't autostart when less than 3 levels were configured/setup
v 1.9.4.3
Added: Gradient brush for /Brush
Added: Dithered mode for /ImagePrint (thanks Goodlyay)
Improved: CLI: Reset color instead of explicitly setting foreground color to white
Improved: Grayscale Rainbow brush now supports random mode
Improved: Allow changing perbuild/pervisit of multiple levels at once
Improved: ZS: Change infect messages to use <zombie>/<human> instead of {0}/{1}
Improved: GUI: Avoid duplicate entries in input log, to simplify navigation through input history
Improved: Allow changing default login/logout message
Improved: Prevent using /ignore,/afk,/whisper in MBs
Improved: Prevent using /mi env on levels you can't visit
Improved: Zones should default to perbuild of level (and perbuildmax)
Improved: GUI: Split up Messages panel in Settings into Messages and Moderation messages
Improved: Message non-controller users when they try to run in-game commands from IRC/Discord that they don't have the permission to run them
Improved: Now can run on bare minimum of mono-runtime (no longer depends on System.Data)
Improved: Plugins that depend on other plugin DLLs are now better supported
Improved: Warn when can-mention-everyone is enabled in discordbot.properties
Improved: Try to preserve original file modification date in /server backup ZIPs
Improved: Keep log file open instead of constantly closing and reopening
Improved: Don't show useless 'on line 0' in compiler error messages
Improved: Make /Server backup table work with double/blob columns
Improved: Don't try to download sqlite DLLs on non-windows
Improved: /pcreate C# example
Improved: /Commands help
Fixed: /Cut being affected by the current transform
Fixed: /Transform rotate output having holes
Fixed: /Info of offline players not showing nick
Fixed: Some https:// heartbeat URLs not working with ProtocolError
Fixed: GUI: Unmute and freeze actions in Players tab not working
Fixed: Discord messages with newlines not appearing in-game at all
Fixed: /Server backup .zips can't be added to/edited using Windows Explorer zip support
Fixed: Some obscure MOTDs crashing original classic client
Fixed: On NetBSD, doing /sinfo throws IndexOutOfRangeException
Fixed: In the rare case when running on mono with System.Drawing package but not libgdiplus package, /ImagePrint crashes the server
Fixed: Attempt to workaround very rare issue where GUI would crash on Linux
Fixed: Old BlockDB upgrader produced /b entries with modification time being a couple of hours off
Fixed: Old zone migrator sometimes produced 0 block wide zones
Removed: Dropped support for old password format (obsolete 20 months)
Fixed: In dotnet build, /Restart not working sometimes
Improved: Dotnet build now use ImageSharp library instead for image decoding/resizing
Improved: Dotnet build no longer depends on CodeDom library
Fixed: In standalone build, /Restart didn't work
Fixed: In standalone build, not loading SSL/TLS certificates on Linux
Improved: For standalone build, WIP on updating support
v 1.9.4.2
Added: When verify-names is off, mppass can be used for /pass at login
Added: Allow setting custom round/infection start countdown time in ZS
Improved: Stop using cmdautoload.txt and just autoload all commands in extra/commands/dll folder
Improved: Allow /punload ing plugins with spaces in their names
Improved: Make /compload work with plugins too
Improved: When verify-names is off, you can still reconnect through the server list now
Improved: Truncate long errors returned by Discord
Improved: Custom Commands GUI no longer hardcodes compilers list for creating commands
Improved: Enable /baninfo and /rankinfo to be used in MBs
Fixed: Make /restart work with .NET core on Linux
Fixed: Make /sinfo 'all processes CPU usage' work on macOS
Fixed: Make /sinfo 'all processes CPU usage' work with .NET core on Linux
Fixed: Fix /whitelist disable enabling whitelist instead
Fixed: Very rare case where server would drop out of server list
Fixed: Trrain gradual movement bias towards 0,0
v 1.9.4.1
Added: Custom network protocol support
Added: /Whitelist enable/disable to turn on/off whitelisted only mode
Added: Shortcut /br for /Brush
Improved: /Maze now allows specifying an optional seed argument
Improved: Inbox now includes message number and slightly offsets message
Improved: Simplify /sinfo slightly and make its appearance more like /Info
Improved: /sinfo now shows total number of levels
Improved: Log when non-existent portals/message blocks are autodeleted from a level
Improved: Make /FlipHead usable without ZS running
Improved: Increase default maximum player count from 12 to 16
Fixed: Frozen players not getting /summoned (and /TP, /Portal etc)
Fixed: /sinfo not showing accurate CPU usage
Fixed: /Outline should be usable even if you can't modify the target block
Fixed: Very rare case where Zones would disappear when level was saved
Fixed: Flatgrass map generator generating the grass layer one layer too high
Fixed: /mi env sometimes wrongly showing exponential fog as enabled
Fixed: Discord bot rarely triggering rate limiting and subsequently failing to reconnect
Fixed: Can't compile commands/plugins in .NET core build
Fixed: GUI logging options wrongly being controlled by 'file logging' instead of 'console logging' server option
Fixed: Prevent console from trying to generate levels over 2 GB in size
Fixed: Alts message rarely showing to lower ranked players while hidden
Fixed: Some messages in /Restore and /Museum etc showing plain instead of colored level name
Fixed: IPv4 mapped IPv6 addresses not triggering connection spam blocking (note IPv6 support isn't enabled by default)
Fixed: Few minor issues in GUI tooltips
Fixed: GUI not working with mkbundle
Fixed: Make /Time and /Server backup db use yyyy-mm-dd format
Fixed: Auto unloading of levels at game round end still showing a message to staff
Fixed: Bots with ridiculously large model scales (e.g. 3.3 x 10^38) failing to load
Fixed: Discord bot status player count not including hidden players visible to guests
Removed: Visual Basic documentation in /Compile and /CmdCreate (still supported though)
v 1.9.4.0
Added: Separate Console rank with highest permission level
Added: Option to allow banning staff IPs
Fixed: Changing rank not immediately updating players table in main GUI
Fixed: /cmds shortcuts [modifier] ignoring modifier
Fixed: Allow /limit of 0
Fixed: Prevent trying to save files with invalid windows filename characters
Fixed: Kick messages with system color codes in them not being escaped
Fixed: /abort rarely resulting in ghost block changes
Fixed: /map without arguments now always prints information of current level
Improved: /mark: Allow using relative to last marked coordinate too (e.g. /m x~3 y~4 z~-2)
Improved: /draw cone look
Improved: Add cone mode for /spheroid
Improved: Add cylinder to /draw
Improved: Try to use better fallback block ids when importing custom blocks from .cw files
Improved: Default rank names (Superop->Admin, Nobody->Owner)
Improved: More appropriate default rank properties (e.g. operator has more /realm maps)
Improved: rank.properties informational text
Improved: IRC bot default to using port 6697 instead of 6667
Improved: IRC bot always uses SSL/TLS when connecting on port 6697
Improved: Change classicgen to use still lava/water instead of active lava/water
Improved: More accurate 'blocks affected' calculation for /eh and /cylinder
Improved: Default to flatgrass theme in /gen instead of always requiring a theme
Improved: /zonemark without a zone name assumes current zone (Thanks Goodly)
Improved: Make /ops and /admins work with renamed ranks
Improved: Allow more characters in bot ai/palette names
Improved: Allow /take ing money from yourself
Improved: Allow resetting passwords of offline players
Improved: Fallback IRC nick generation upon nick conflict (now mutates a character instead of complete random name)
Improved: If two ranks in ranks.properties have same name, try to rename second conflicting rank
Fixed: Allow # as ~ alternative for relative coords (since ~ can't be entered in original Classic client)
Fixed: Leading whitespace not appearing in chat messages (in original Classic client)
Fixed: crashing when receiving a chat message packet that ended with a color code (in original Classic client)
Fixed: 'Two color codes in a row' appearing incorrectly (in original Classic client)
v 1.9.3.9
Improved: Hiding GUI from taskbar when minimised is disabled by default now
Improved: Update Discord Gateway api from v6 to v8
Improved: Cmdbind can be used with any shortcut, not just /0 to /9
Improved: Clarify how to provide input when creating blocks in /gb and /lb (Thanks Goodly)
Improved: Increase max player limit to 256
Improved: Some fallback blocks for < 0.30 classic versions
Improved: Change 'admin verification required' messages to more generic 'account/password verification required'
Improved: Clarity of /vote message
Improved: In Players tab in GUI, change 'Send message' to behave the same as @player
Improved: In Players tab in GUI, 'Do command' now supports either '/cmd' or 'cmd' in input
Improved: Compiling now includes source filenames at end in success message
Improved: Cmdunload now includes name of command in output
Improved: Change classic map gen to standard/simple theme instead of advanced theme
Fixed: /tw set difficulty sometimes erroring
Fixed: Teleporting self in classic 0.0.16a - 0.0.17a doing nothing
Fixed: Wrong yaw/pitch when spawning self in classic 0.0.16a
v 1.9.3.8
Fixed: Username clone detection being case sensitive
Fixed: Database.TableExists very rarely returning false positive with MySQL (SQLite is used by default)
Improved: Allow using -1 for /env variables
Improved: Show "Classic 0.28-0.30" instead of "(unknown") in /clients
Improved: /whitelist automatically adds + to end of usernames when classicube-account-plus mode is on
Removed: $ip
v 1.9.3.7
Fixed: /scale 1/2 not working (partially)
Fixed: Session modified overflowing after 2 billion
Fixed: SECURE_WEBSOCKETS build not compiling
Fixed: Icon not showing in GUI dialogs on Linux
Fixed: Update GUI dialog causing crash sometimes on Linux
Fixed: GUI dialogs having poor titlebar appearance on Linux
Fixed: Some GUI element (e.g. listbox) text being nearly invisible in dark theme on Linux
Improved: UPnP now logs more details
Improved: Make custom commands GUI popup font consistent with rest
Improved: Trying to perform GUI player action when no player selected shows warning dialog now
Removed: (s) emote shortcut (can still use (sect) and (section))
Removed: Support for .lvl files without 2 byte signature (even MCZall/MCSharp have the 2 byte signature)
v 1.9.3.6
Added: preclassic and classic 0.13 dat importing support
Added: Allow disabling CPE extensions
Improved: Disable ClassiCubeAccountPlus by default
Improved: Museum now uses significantly less memory where multiple players go to same museum
Improved: Allow disabling Discord user mentions from in-game chat
Improved: Allow configuring authentication services
Improved: Retry sending Discord messages for transient Discord errors
Improved: Do not log transient Discord errors to error logs
Improved: Change /restore to also list backups when invalid backup number is given
Improved: Change /clients to show classic < 0.30 versions
Improved: Allow /copy save to use any filename
Improved: Better error message when importing non .dat file as a .dat
Improved: /import shows better error messages when unsupported file
Improved: 'config contains non-allowed character' message to also include the non-allowed characters
Fixed: Discord relay bot .who showing level names with _ in them as '\_' instead of expected '_'
Fixed: Museum not restricting perbuild to nobody
Fixed: /place still being usable on museums
Fixed: 'Reload level' in GUI context menu not working
Fixed: '/import all' rarely not importing the right file
v 1.9.3.5
Added: Support for all multiplayer versions of Classic (i.e. classic pre 0.30)
Improved: Can now send heartbeat to multiple addresses
Improved: /FixGrass is now a drawop (logs to BlockDB, can specify area bounds, etc)
Improved: /CmdLoad and autoload now log the actual names of loaded commands
Improved: If error(s) occur compiling commands/plugins with multiple source code files, error logs also include filename
Improved: Some map themes now have custom default environment settings
Improved: Rework /museum arguments to make more sense (Thanks Goodly)
Fixed: Spring/yoyo effect when teleporting via portals/warps (players appear to warp to new position, then previous, then new again)
Fixed: Markdown escaping issues with Discord relay bot
Fixed: Getting stuck on map loading screen if you tried to join a level that had been unloaded
Fixed: Physics should never be enabled in museums
Fixed: Restrict /blockprops to not allow setting blocks that you are not allowed to use
Fixed: Generating space themed map one block high throwing IndexOutOfRangeException
Fixed: Never showing line numbers on mono for commands/plugins with .mdb files
Fixed: messages with \n in them only showing first line on IRC
Fixed: /me from discord/console erroring
Fixed: Do not set auto unload to true on old main when switching mains (Thanks Goodly)
Fixed: Countdown doesn't work properly when started by autostart on server startup (Thanks forkiesassds)
Fixed: /plugin compile not accepting multiple soure code filenames
Fixed: When compiling plugins, output .dll filename was all source code filenames combined instead of just first
Fixed: Very rare case where a in-game message just after a .who would not appear in Discord
Fixed: /Players erroring if "Show empty ranks in /players" is true and there are no players online with a given rank (Thanks Goodly)
Removed: Drop extra/bots.json auto upgrading support (obsolete 4 years)
v 1.9.3.4
Added: Allow custom Discord .who embed color
Added: Events for messages received from a relay bot
Fixed: /infoswapping two players of same rank causing destination player to lose their rank
Fixed: On some versions of WINE, if you close the server while players are still connected, you get EADDRINUSE for next few minutes if you try to start server again
Fixed: Settings GUI icon showing default form icon on mono/wine
Fixed: mkbundle wrapped CLI always crashing at startup
Fixed: If you buy a login/logout/title etc while muted, you are still charged even though the message does not change
Fixed: VecF32.Normalise on a zero vector turning into NaN (Thanks Venk)
Fixed: Some characters in nicks not being properly escaped for Discord
Fixed: Escaped characters from Discord like \* still appearing escaped in-game
Fixed: Workaround custom Loggers rarely throwing exceptions in their LogHandler
Fixed: Being able to add award with same name twice
Fixed: Can't do /reload [level] when can't do /reload
Fixed: Custom defined default glass not having correct break sound
Improved: Log error details if fail to download required file
Improved: Support compiling multiple files into one DLL
Improved: Generate .pdb so errors have stacktraces when thrown from commands/plugins
Improved: Now you can remove login/logout message while muted
Improved: Split up /spin into /spin and /mirror
Improved: Actually log Discord error response text
Improved: Make /plugins output paginated
Improved: Show messages if relay bot connect fails asides from just not being enabled
Improved: Support resuming Discord relay bot session (should fix rarely losing 1-2 seconds of discord -> ingame chat)
Improved: Simplified /reload all [level] to just /reload [level]
Improved: /report message to also show reason to online ops
Improved: Don't log so much when connection is being spammed
Improved: Tidy up /awards output
v 1.9.3.3
Added: Allow overriding default authentication mechanisms
Fixed: /ccols edit not working with non-ascii colour codes
Fixed: Can still vote in all games when muted now
Fixed: Prevent players using /reload inside of games (thanks forkiesassds)
Fixed: Discord bot shouldn't reply to .who if the given channel is not specified as a channel to listen on
Fixed: IPv6 link local addresses not getting treated as LAN addresses
Fixed: /map deletable also not letting you place blocks
Fixed: can't /banip IPv6 addresses
Fixed: /baninfo erroring with MySQL
Fixed: /me not incrementing messages written in /info
Fixed: Profanity filtering not consistently apply to all methods of player chat
Fixed: When map has deletable off, and you right click while holding air, a 'deleting blocks has been disabled in this level' message would show
Improved: When logging invalid config keys, it helps to also log the invalid value
Improved: Allow adding custom compilers for scripting
Improved: Colour error/warning messages in CLI/GUI log
Improved: Include exception message when logging errors to console/GUI
Improved: Unflood should pause instead of stopping physics
Improved: enable dual stack IPv4/IPv6 listener on Window when possible
Improved: Convert IPv4 mapped addresses to IPv4 addresses
Improved: Plugins should always load after main level has been loaded
Improved: If GUI .exe version differs from .dll version, show a warning message box
Improved: Allow changing Discord bot presence status and activity type
Improved: IRC logs unhandled errors properly now
Improved: Discord bot doesn't log I/O errors to server error logs
Improved: /Color, /Nick, /Title now say who changed them and also works better with localchat
Improved: Discord/IRC bot shows name of unknown command now
Improved: Try to add _ to end of IRC bot nick when nick collision occurs
Improved: Allow disabling Discord bot presence
Improved: /seen should default to showing your first/last login
v 1.9.3.2
Fixed: Discord bot not reconnecting after 3 websocket dropouts
Fixed: Discord bot not sending messages to Discord during websocket reconnect
Improved: Discord bot now tries to periodically reconnect during internet dropout
Improved: IRC bot now tries to periodically reconnect during internet dropout
v 1.9.3.1
Added: Discord relay bot
Added: Preliminary support for .NET core
Added: Classic/Vanilla map generator
Added: OnConfigUpdated event for when server config is reloaded
Improved: Allow changing map change message in round games
Improved: Countdown supports multiple maps
Improved: Allow using /ccols add with standard colour codes
Fixed: lb/gb help saying 'Type a number for the texture' instead of 'Type a number for the top texture'
Fixed: Doing /unmute without a name erroring
Fixed: Hold model hitbox being too large
Fixed: /ascend not teleporting you to next gap up
Fixed: Not being able to use restricted commands in /bot text even when you should be able to
Fixed: /hide shouldn't update /last
Fixed: /ref shouldn't reveal hidden players
Fixed: Wonky pyramids/cones (Thanks rdebath)
Fixed: Don't crash if unable to open logfile in GUI General Logs tab
Fixed: Packet.TextHotkey should auto convert \n
Fixed: Invalid IRC channel name should not take down whole server
Fixed: Ampersands not showing in GUI 'insert token' popup dialog
Improved: Allow IRC relay bot to ignore certain users
Improved: Better parsing for /map authors/realmowner (Thanks fam0r)
Improved: Cleaned up custom commands GUI
Improved: IRC port in GUI should be numericupdown, not a textbox
Improved: /seen outputs yyyy-mm-dd for consistency with /i instead now
Improved: Use absolute path for restart file
Improved: Don't run commands in MBs after disconnected,
Removed: Viewmode.cfg support (Doesn't even work on Windows, obsolete since over 3.25 years ago)
v 1.9.3.0
Fixed: Errors when BlockDB file is > 32 GB
Improved: For /img (and heightmap gen, import, etc) don't log to error logs for simple known errors like 404, website address can't be resolved, etc
Fixed: Spamming /send not triggering auto mute
Improved: /server public/private should persist across restart
Fixed: /UndoPlayer should still be usable on levels with drawing disabled
Improved: Optimise leaf decay calculation
Fixed: /me not showing on IRC when used from non-localchat level
Improved: Don't log to error logs for image decode failure for imgprint/heightmap
Improved: Support connecting to IRC over SSL (Thanks Kamino)
Fixed: Skip block for brushes not working when ranked below SuperOP
Improved: Superops should be able to use restricted commands in MBs by default
Improved: IRC controllers should default to superop not nobody permission level
Improved: Add separarate /unmute, remove /mute toggling mute on/off (Thanks Goodly)
Fixed: Message of exactlty 64 characters wrongly being line wrapped
Fixed: /clear not completing clearing chat for people who use 30 chatlines
Improved: Whitelist: Use formatted nick in warning messages for /Whitelist
Improved: For classic mode, convert ampersands to percent instead of completely removing
Improved: When changing many custom blocks at once, only save once instead of after each block
Fixed: Very rare case where multiple players copying/editing custom blocks at same time errored
Fixed: Make sure /levels is always in sorted order
Improved: Allow using /nick on offline players
Improved: Allow using /skin on offline players
Improved: Allow checking specific player's ping in /ping (Thanks iD)
Fixed: /Ascend not allowing you to move to the very top of a level
Added: Visual Basic plugin compiling and creation support
Fixed: Bump record limit from 21 to 101 for database queries that are matching multiple names
Fixed: /color without a colour specified should remove the colour completely
Fix imageprint very rarely resizing to 0x0 and erroring (Thanks Goodly)
Fixed: constantly erroring after restarting with Mono on linux with CLI
Removed: MCGalaxy mods altogether (only gave you an in-game title anyways)
Removed: Automatically moving .prev files from levels into levels/prev (obsolete for 4.75 years now)
v 1.9.2.9
Improved: Explanatory comments for /cmdcreate generated command skeletons
Improved: Add cancel argument for levelsave/unload/rankchange events
Fixed: + being trimmed from end of bot nametags
Fixed: /tp erroring with normally impossible invalid input
Fixed: /shutdown [reason] only showing first word of reason
Fixed: Doing /me from console not showing on IRC and erroring instead
Fixed: Can use /unflood to turn off physics on maps don't have access to
Fixed: Custom color list in being formatted improperly
Added: Event for infoswapping
Added: Compiling instructions to readme
Improved: Use darkgrey instead of black color for CLI (avoid black text on black background)
Improved: Allow configuring tag distance threshold in CTF
Improved: Layout and behaviour of Players tab in GUI
Improved: Allow configuring announcement interval
Fixed: checking for updates not working by force enabling TLS 1.1/1.2
Improved: For heartbeat errors, only log error message in URL textbox
Fixed: Remember current speed for bots when saved to disc
Improved: If you double click server url in GUI, it opens it in web browser
Improved: Make levels list table fit horizontally in GUI
Improved:Fix players table not updating on changing map in GUI
Improved: Fix levels table not updating when player leaves server in GUI
GUI: Fix having grey instead of white background for input controls on mono
Improved: Update in-place instead of using Updater.exe
Fixed: Server failing to start if can't load sqlite3 dll
Fixed: Problems with minimising GUI on some versions on wine
Fixed: GUI icon not showing on wine/mono
Fixed: /model bot not showing new model names (Thanks aleksb385)
Fixed: /pass bypass issue when verify names off and on case sensitive filesystem
Improved: /help XBan
Fixed: Getting pushed in /ref mode even with -push MOTD
Fixed: If you join ZS, enter /ref mode, then go to another map, other players don't see you
Fixed: background colour of CTF/TNT wars gui settings
Fixed: wrong colour in kick message upon /ban
Improved: Add support for &S etc in LineWrapper
Removed: Support for automatically combining ancient .env and .properties files
Removed: /botai add reverse
Removed: Most of 'Zombie old' from GUI, since it is in 'Zombie survival' tab now
v 1.9.2.8
Improved: When matching player names, prefer exactly matching a player's name (without +) first
Improved: Hidden players die to bots/deadly blocks now (death message only shows to yourself though)
Improved: You can delete door blocks now when physics level is 0
Improved: Allow changing login/logout messages of offline players
Improved: Allow using /title, /tcolor, /color on offline players
Improved: Allow muting and freezing offline players
Improved: Split up /Model into /Model and /ModelScale
Improved: Allow using \: in custom chat tokens to specify a : should be part of trigger word
Fixed: Changing model scale show a proper message now
Fixed: Gun aimbox not appearing in classic mode
Fixed: Still trying to load # comment lines in text/cmdautoload.txt as commands
Fixed: Killer bots would kill all players at same position, regardless if on a different level or not
Fixed: Explode mode of gun not exploding when it hits a glass block
Fixed: Make /missile destroy actually destroy blocks
Fixed: Colors.StripUsed not stripping system colour codes
Fixed: Doing /i on an invalid name showing the 'invalid player name' message twice
Fixed: Glass borders surrounding the Countdown board not disappearing on some oddly sized maps
Fixed: Make it much more difficult to avoid falling down the glass chute in countdownj
Help in GUI should also use Chat.Format and should still show ampersa… …
Fixed: If you do /lb edit 65-67 whatever, it ends up editing a lot of unrelated blocks too
Fixed: /Last doesn't show /Opchat or /AdminChat use now
Improved: Linewrapper produces nicer lines when a line ends on the form of 'word /command'
Improved: Use horspeed=0 in Countdown freeze mode to stop players moving horizontally
Improved: Don't show + in names in connect/disconnect logs
v 1.9.2.7
Fixed: Awards player has but don't exist anymore still counting towards player's awards count in /i
Fixed: Doing /b on map that had portal/MB block ids but the tables not existing in DB causing error to get logged
Fixed: Being able to /possess yourself
Improved: More descriptive error messages when downloading image for /imgprint fails
Improved: (ZS) Make pillaring detection stricter for maps without building
Improved: For custom commands/plugins, also load .pdb if it exists
Fixed: Placing air_switch/checkpoint will revert to air, instead of leaving behind the block you were holding
Fixed: If you're holding a block you're not allowed to place in your hand, you should still be able to delete blocks
Improved: /send should not prioritise online players
Improved: Add support for relative coords in /explode
Fixed: Rare case where doing /undo [timespan] would throw a NullReferenceException
Fixed: Error appearing in logs when voting for next map in rounds based games and less than 3 maps configured
Fixed: Changing list of ZS maps in GUI not saving
Improved: & not followed by colour code behaves more consistently
Fixed: main-name from server.properties being more restrictive than /main
Fixed: Custom commands in custom plugins losting custom set extra permissions on server restart
Improved: fCraft map generator performance by a little bit
Removed: '![command]' acting as '/[command]'
Improved: //[command] in MBs acts like regular chat and just messages '/[command]' back to the user
Improved: Order of properties in server.properties
Improved: SQL transaction error message logging
Improved: 'Failed to start due to missing MCGalaxy_.dll' message now includes folder
Fixed: Some IRC mode changes wrongly showing as an IRC error in logs
v 1.9.2.5
Improved: Make Y in /write 3 blocks wide instead of 5
Fixed: Being able to use /team to spam (X was muted) messages
Removed: Chatrooms due to very little use, and team chat/map only chat mostly replaces this
Fixed: Being able to see hidden players in /alive and /infected in ZS
Fixed: Updating not working when running mono through wine
Fixed: .cw maps with dimensions between 32768-65535 not importing
Fixed: Command line input not working in CLI when running through wine on mono
Improved: Reduced memory usage when importing cw/mclevel maps
Fixed: main level generated when main level doesn't exist i.e. first time you start the server) not saving changes to /b
Improved: Confirmation warning popup if the user tries to disable name verify names
Improved: Make output of many more commands account for whether user ignores custom nicks
Fixed: /follow not showing player name with 'stopped following' message
Fixed: /gen not showing completion message when used from map with level-only chat
Fixed: /inv [player] showing message twice
Improved: /blocks also include custom blocks
Fixed: /search blocks not including classic/CPE blocks in search list
Improved: Don't reload files from disc when doing blockset/cmdset
v 1.9.2.4
Fixed: Custom models plugin not working
Fixed: Doing portal/mb show on map without any portals/mbs adding entry to error log
Improved: Also log LoaderExceptions for ReflectionTypeLoadException exceptions
v 1.9.2.3
Added: /ln alias for /line (fCraft compatibility)
Added: Packets for custom models
Removed: /bs shortcut for /blockspeed
Improved: Parse /shutdown delay as timespan instead of integer seconds only
Removed: /devs, link to MCGalaxy source in /sinfo instead
Improved: Make /eat an economy item, so price can be configured
Improved: Make p.Extensions public
Fixed: Doing /model while a zombie in ZS still changing it
Fixed: Can't /os map add on server without + after names when there are existing maps with your account name, but you aren't realmowner of them
Fixed: Can't see map joining/leaving messages on maps with localchat on
v 1.9.2.2
Added: /limit realms to set max realms a rank can have from in-game
Added: /BotInfo that shows information on the given bot
Added: A few more env presets
Fixed: Unmuting player only showing first word of reason in unmute message
Fixed: Issues with extremely long mute times on mono
Fixed: Quit/RageQuit/Hacks/CrashServer should not be usable from console/IRC
Fixed: Use accurate block name in help for /portal multi
Fixed: Don't allow custom /pay messages while muted
Fixed: If you in referee mode and flying, when moving to another zone, fly mode would get turned off
Fixed: Crash if you try to select a rank in the gui that has over 255 realms
Fixed: Colors sometimes being wrong in TNT wars
Fixed: /tw set zone delete and /tw set zone delete all having swapped behaviour
Fixed: Fuse block not getting destroyed in nodestroy zones in TNT wars
Improved: Also track duration of action in /notes
Improved: Referee mode should still follow jumpheight= in motd
Improved: 'Reference X.dll;' and '//Reference X.dll' can be used for custom commands/plugins as alternative to 'Reference X.dll'
Improved: Allow lb/gb copying multiple blocks at once
Improved: You shouldn't be able to speak while pending /pass verification
Improved: Include dimensions of heightmap and level in warning message when they don't match
Improved: Can still use /bots and /zonemark in museums
Improved: Allow using relative coords for gb/lb min/max (Thanks 1Leiz)
v 1.9.2.0
Fixed: Placed/deleted overflowing at 33 million
Fixed: Turning off 'colours' option in GUI console shows raw colour codes
Improved: More descriptive message when you're muted by chatmod
Fixed: /hug and /high5 not working from console
Fixed: Allow using /eat and /me from console
Fixed: Zones getting lost with /resizelvl
Improved: Don't lowercase command name in /cmdcreate output
Fixed: /compile showing wrong error line number when source has 'reference' statements
Fixed: Unloading custom commands not removing command aliases
Improved: Simplify information in /ranks
Fixed: /chatroom del and /chatroom spy throwing NullReferenceException
Fixed: Not immediately asking for pass when you are ranked to a rank requiring password
Fixed: Settings -> Eco -> Rank item in GUI crashing server on mono
Fixed: Support 'reference' statements when compiling custom commands from GUI
Improved: Simplify showing errors when compiling custom commands from GUI
Fixed: /buy level erroring if level failed to generate
v 1.9.1.9
Improved: Make CalcEyeHeight take Y scale int account
Improved: /tpp 0 0 0 puts you on the ground at level 0
Fixed: Updating appearing to work with mono when Updater.exe is missing
Improved: Backup path in server.properties defaults to relative path
Improved: Log to player short summary of first 2 errors when compiling
Fixed: Eyeheight of skeleton model
Fixed: /copylvl,/renamelvl,/deletelvl consistently announce globally
Fixed: /botai list showing wrong name when a . in a bot AI's name
Fixed: /undo timespan not undoing some changes in rare cases
Improved: Make help consistent with level/map
Improved: /os map delete announces when level is deleted
Improved: Rename /levels to /loaded and /worlds to /levels
Fixed: Could manually set fallback for a custom block above 65
v 1.9.1.8
Fixed: Don't turn off 'auto unload' when setting main world
Fixed: /copylvl not saving level to disc first.
Fixed: /cmdset/blockset not behaving properly when used by multiple players simultaneously
Improved: /renamelvl work with unloaded maps
Improved: /renamelvl update all portals tables, so any portals that previously went to the map go to the new map
Fixed: Rare issue where physics in museums map caused map to never get freed from memory
Improved: Support compiling unsafe C# code for custom commands/plugins
Improved: Allow changing tablist group name of zombies/humans in zombie survival
Fixed: Exploit with /undo that allowed spamming BlockDB
Improved: Allow info/remove/edit ing multiple blocks using lb/gb
Improved: Make SPlace a draw op
Added: Support for custom particles
Fixed: botai hunt instruction not interacting properly with other instructions
Fixed: /tw end not working
Fixed: Players who join mid-round in TNT wars when it is running on main map joining spec team instead
Fixed: Not getting sent to team spawn first time you join TNT wars or CTF
Fixed: Don't crash if trying to call SendMessage causes a DllNotFoundExceptipn
v 1.9.1.7
Fixed: Importing textures over 256 in .cw importer works now
Fixed: Importing block ids over 255 in .cw importer works now
Fixed: Rare bug where doors would get stuck as air form on saving
Fixed: Incredibly rare bug which caused zones to get lost on saving level
Fixed: Confusing behaviour where a block be both a portal/MB, portal/door etc. Now it can only be one at a time.
Improved: Make /mirror x more logical in that it flips all X coordinates instead of Z coordinates (same for /mirror z)
v 1.9.1.6
Fixed: /money without arguments showing '' is not a valid player name
Added: Ssupport for CPE VelocityControl
Fixed: Some imported .dat worlds having the blocks shifted over
Fixed: Bots on a map getting deleted if you changed x/y/z scale of a bot to a decimal number and your system language uses , instead of .
v 1.9.1.5
Fixed: GUI map gen only allowing map sizes in the dropdown
Improved: 'server port utilities' dialog is clearer
Improved: Allow custom whitelist kick message
Fixed: Sending stopped working after a while with .NET core
Fixed: doing /z then immediately doing /mb not resetting bottom right messages
Fixed: /mynotes should have default rank permission of guest
Improved: Stare AI accounts for eyeheight and scale now
Improved: Show bot's skin in /whonick bot.
Improved: Player count is now based on unique connected IPs
Improved: Show in tab list when maps have local chat …
Improved: Don't restrict model bot axis scaling in /model
Fixed: doing a large /copy, then adding three marks, causes any further marks to cause a blockchange error
Fixed: warps list not getting cleared before loading on /server reload
Fixed: replace and /replacenot getting affected by transforms
Fixed: painting over grass while holding dirt appearing as air, even though the block was actually unchanged in the world
Added: Support for CPE SetSpawnPoint
Fixed: Not working with MySQL > 8.0
v 1.9.1.4
Fixed: Make @ offset work properly with /cut
Improved: Bots track owner/creator, prevents non-staff modifying bots of other players
Improved: Auto filter dropboxusercontent.com to dropbox.com for urls
Fixed: /tw set zone being /tw set zones instead
Fixed: /map edgewater flooding invalid block instead of water
Fixed: Not being able to delete invalid blocks
Fixed: Portals/message blocks not functioning initially after resize
Fixed: Don't tie whitelist to player IPs when verify names is off
Fixed: Make /pyramid just use min Y for pyramid base
Improved: Tidy up compiler.log output
Fixed: Warnings shouldn't prevent custom command from compiling
Fixed: Custom commands in GUI aren't forced to lowercase filename
Improved: Make /review thread safe
Fixed: TNT wars not auto starting and not auto loading config
Fixed: Plugin error when loading/unloading when reloading doesn't break server reloading
Improved: Replace fancy quotes with their simple ASCII forms
Improved: Simplify /reload message
Fixed: Map not being reset when next map voted is the same as current map
Fixed: Disconnected players still showing in TNT wars tab list
Improved: Make default server visibility private
v 1.9.1.3
Added: Support for web client
Added: Save button for EditText popup
Improved: Allow /lb copy to copy from another map
Improved: Allow some non-alphanumeric ascii characters for level names
Improved: Layout of /awards
Fixed: 0 byte file getting loaded as a 1x1x1 map
Fixed: /roll showing same result when used multiple times consecutively in an /mb
Fixed: /infoswap on non-existent accounts always messaging: ''" was not found in the database
Improved: Heightmap theme now auto resizes, but warns when doing so.
Improved: Simpler permissions message in /os map add
Fixed: Level items in eco gui not working at all
Fixed: /save [map] [restore] showing wrong restore name
Fixed: /fly not respecting -fly zone motds
Fixed: .x not working if IRC channel name's capitalisation was incorrect
Improved: Player nicks show in tab list
Fixed: Don't allow /skin over 64 characters
Improved: Don't count colors in nickname for <30 char limit
Added: Allow custom profanity filter replacement
Improved: Allow just doing /reach to show reach distance
Improved: Don't spam console with layer flood messages
Added: /import all to import every map in /extra/import
Added: Allow disabling checkpoints client side respawn
Fixed: Download inf id dll when updating an inf id server
Added: /pe ip
Fixed: /gun should always revert blockchanges made by player
Fixed: Branches of ash tree being too short
Fixed: /gun not behaving properly after doing /b
Fixed: /import all including filename
Fixed: Erroring when trying to import unsupported format
Improved: /gun relies on just mouse click instead of glass box
Added: Option for disabling certain types of chat/log messages from being logged to disc/console
Improved: Allow disabling custom commands from showing in server logs
Fixed: Importing maps with over 256 custom block definitions producing wacky blockdefs
Allow activating a checkpoint and other blocks around it …
Fixed: copy format version 1 not loading
Improved: Allow negative speed for spin bot AI instruction
Improved: auto number map when /buy ing level, if no name is given
Added: env skybox [col] to set skybox colour
Improved: Allow mark/spin/patrol/botai/gun to be used in museums
Improved: Better messages in /pass
Added: /help env presets
Improved: Allow importing from webpages
Added: /server update
v 1.9.1.2
Improved: Can make custom blocks outside 0-16 range.
Fixed: +skin urls not working
Fixed: /award take not working
v 1.9.1.0
Improved: Extra permission for seeing state/province in /location
Improved: Connect/Disconnect shows to all players, regardless of /map chat.
Improved: Allow texture ids beyond 255 when creating a custom block.
Improved: /delay is only usable in /mbs, remove the 'you are already using delay'
Improved: Allow /mode 0, /static doesn't turn off /mode
Fixed: Be more resilient to level corruptions when mid-way through saving
Fixed: /scale not working properly sometimes
Fixed: /bezier with /static mode stuffing up
Fixed: Not being able to bind to command aliases in /cmdbind
v 1.9.0.9
Added: /blockprops list, /blockprops reset, /blockprops copy
Added: Allow using /env preset and /env normal in /zone set too
Added: You can set default environment (i.e. global/server env) for maps in /env
Improved: Can just do /lb copy [id] (auto fills in last free block ID)
Improved: For inf id, don't send second array when only custom blocks <= 255 are used
Fixed: /scale with no arguments not showing help
Fixed: Permission messages being shown twice to console with /os map add
Fixed: /descend not counting bottom of map as solid
Fixed: 'already has that colour' message being wrong
Fixed: /os map create (not /os map add), not working when used from non-realm map
Fixed: /ref not working as /referee
Fixed: /zs set pillaring and /zs set build
Fixed: /server backup table not working
Fixed: /static paste and /spin 90 messing up
Fixed: Missing oDoor block property in /blockprops
Fixed: /env reset shouldn't reset textures
Fixed: /team invite stuffing up when team has colours in its name
Fixed: Changing rank prefix not updating in-game players
Improved: Make blockprops behaviour more consistent with lb add/copy
Improved: don't bother warning with non divisible by 16 axis lengths
Improved: Majorly improve /help newlvl
Improved: /location shows state, can be used on any IP, and alias of /geoip
Improved: Allow summoning bots to coords
Improved: Also reload list files when doing /server reload
Improved: Allow whitelisting yourself in perbuild and zones
Improved: Don't spam server logs with 'unrecognised config key X'
Improved: Drop unused fields from block def json files
Improved: Show proper message when can't measure ping
Improved: /help import now provides details about supported formats
Improved: Allow using /give on yourself
Improved: Now provide details for each /env variable
v 1.9.0.8
Fixed: ZS round times
Fixed: Some issues with hiding
Fixed: /top10 oldest breaking with a few servers
Fixed: /roll with two numbers, make /roll with 1 number better
Fixed: compiler error log listing warnings as errors
Fixed: Being added to countdown players list, even when can't join countdown map
Fixed: Changing undo limit in ranks in gui not saving
Fixed: Old level blockprops files not being copied/deleted/renamed
Fixed: Accuracy issues with MaxUndo for ranks and /calc
Fixed: Out of memory error when resizing, caused changes in map to not be saved
Fixed: Physics restart checkbox having wrong tooltip
Improved: Can get MCGalaxy to compile for .NET 2.0
v 1.9.0.7
Added: /hold to make you hold a particular block
Fixed: /clones not working from console
Fixed: games erroring when game is aborted mid-way through round vote
Fixed: noclip/speed detection in games should only when the specific hack is disabled
Fixed: Mark#2 message in bottom right showing first point
Fixed: Negative flood time messages in LS
Fixed: Denied messages shown, when block is placed on bottom layer of zone
Fixed: Error when trying to undo yourself for extreme amounts of time
Fixed: LS not flooding map when round continues again on same map
Fixed: Players not getting disconnected when server has run out of disk space
Fixed: Player name showing in tab list, when player disconnects when joining map
Fixed: Changing main name via reloading server.properties, not changing main map
Fixed: perbuild/pervisit max restrictions behaving improperly
Fixed: /server backup doesn't use tonnes of memory
Improved: Better command API, p is no longer null for console
Improved: Make /static [command] show better permission denied messages
Improved: Use custom timespan numericupdowns in GUI
Improved: Simplify /chatroom somewhat
Improved: Now /os map pervisit/perbuild act is if you have nobody permissions
Improved: /server backup compresses files by default
Improved: Log progress when restoring/backing up files
Removed: Me and HackRank shouldn't be MB useable
v 1.9.0.6
Improved: Majorly improve games in GUI, game setup commands
Improved: TNT wars majorly improved
Improved: Backups also save associated file with map (bots/blockdefs/env)
Improved: Pressing Ctrl+C in CLI should still try to cleanly shutdown
Added: option in server.properties to disable world change messages
Added: /bot copy
Added: Option for /rainbow for whether air is replaced over too
Added: /line connected mode
Added: Corpse model to /help model models list
Added: Allow setting yaw and pitch in /tp
Added: Extra command permissions support disallow/allow ranks now
Added: /ignore worldchanges
Added: Option to disable CPE
Added: Allow configuring warning/error colour
Fixed: blockprops file not being moved/copied/deleted
Fixed: /static fill 2d not recalculating direction each time
Fixed: gb/lb copyall should keep inventory order
Fixed: 'lately known as' showing to players on maps with map-only chat
Fixed: rashing on some versions of mono
Fixed: /xmodel with per-axis model scale
Fixed: Can't set multiple blocks to hidden
Fixed: Fix very rare case where bots spawned appear at wrong position
Fixed: Incorrect message for /zedit and /perbuild on another map
Fixed: Changing map options in UI not saving
Fixed: Changing map not updating players list in GUI
Fixed: /ignore with no args ignoring yourself
Fixed: Teams list not being cleared before reloading list
Fixed: Main level corruption when multiple errors are thrown at once
Fixed: Placing air in map with deletable off but buildable on showing message
Fixed: Avoid errors when shutting down on mono
Fixed: Crash when you click 'load map' in GUI but haven't selected a map
Fixed: Cloudy brush noise messages showing even when /ignore drawoutput
Fixed: /banedit actually works
Fixed: /ref title not always being set or reset properly
Fixed: /ccols list always showing all default colours
Fixed: /unflood all not working with renamed active water/lava
Fixed: linkscript bot AI instruction not working at all
Improved: Allow del/delete/remove to all be used interchangably
Improved: Restrict /pay from MBs
Improved: Perform inventory sorting server side
Improved: Make UI popups consistent
Improved: countdown shouldn't reset build perms every time map is loaded
Improved: Show order in lb/gb info
Improved: Few more commands can be used in museums, minor tidy-up in UI
Improved: Redesign Rank item - now just explicitly set buyable ranks
Improved: Doing /server reload reloads announcements list
Improved: Log error when an error occurs importing zone in .lvl map
Improved: Can just do /whitelist for /whitelist list
Improved: You can resize /img now
Improved: Empty theme should have initial edge level of 1
Improved: /rankinfo matches against all player names
Improved: Now /write works with brushes
Improved: Make command aliases more flexible
Improved: Change default OS map height to 128
Improved: /lb info works still, on a block even if only a /gb
Improved: Switch to ID 0 for hidden inventory order
Improved: Can now use draw commands in zones less restrictive than map
Improved: Move /mapset drawingallowed to /map drawing
Improved: Now /rankinfo stores time in UTC timestamp
Improved: More consistent permission denied messages for modcommands
Improved: /hide silent shows no message at al
Improved: Don't save global blocks list on server start
Improved: Make chatroom have less extra permissions
Improved: Show message when level isn't actually saved when using /save
Improved: Don't allow TPing to people or using /where when playing games
Improved: Total messages written now works
Improved: Changing zip url should reset png url, and vice versa
Improved: /model without args resets per-axis scale too
Improved: Lockdown autocompletes maps
Removed: Fail /votekick command
Removed: Original midnight preset, rename midnight2 to midnight
Removed: Move .binvox into separate plugin
Removed: Drop support for ancient server/lockdown/map and level/blacklist
v 1.9.0.5
Added: Allow configuring heartbeat URL
Added: rope/lader collide type 7
Added: gb/lb copyall [map], which copies all custom blocks from given map
Improved: /os env preset alias for /os preset too
Improved: Allow using 3 and 6 char codes for hex colours.
Improved: Optimise /resizelvl to be twice-thrice as fast
Improved: Ignore colours for /team members, disallow creating two teams with same colour-stripped name
Improved: Bulk block sending for Countdown
Improved: Can use /pervisit and /perbuild on unloaded maps too
Improved: Optimised map sending to be quicker, less CPU
Fixed: /bind with source block being custom causing error
Fixed: /search blocks not including global blocks from console
Fixed: Make /os zone list actually worked
Fixed: Don't let you change /env on maps no perbuild access to (Thanks AndyFC)
Fixed: outdated sun colour if standing in a zone and someone changes env
Fixed: Should be able to use /fly when +fly in MOTD
Fixed: pyramid drawop sometimes having inaccurate count
Fixed: /ls start/end erroring on fresh servers
v 1.9.0.4
Added: /team list
Added: /zonemark
Added: Redesigned how zones work. Permissions are separarate from zone name, and allow defining per-zone env and MOTD.
Added: /os zones to let you create/manage zones in realms
Added: Support custom blocks for /help [block], /blocks [block], and /[block]
Added: Rename /scripting to /plugin and add /plugins
Added: Support non ASCII custom colour codes
Added: Global chat message when player joins for first time
Fixed: plugins not loading with /pload when specified to not autoload on startup
Fixed: Plugin dlls can have multiple plugin classes in them
Fixed: Disallow loading plugin that target future versions
Fixed: gb/lb replacing core block with CPE fallback, not converting CPE to classic block
Fixed: Don't show ZS group or team chat when you've ignored someone
Fixed: /summon all not showing any message when insufficient permission
Fixed: Commands tab in GUI shows properly cased command names
Fixed: Weatherfade truncation in /mi
Fixed: /tree type [brush name] [brush args] not actually keeping args
Fixed: (should) very rare crashing when returning from GUI minimised
Fixed: Reset blockprops not properly resetting death message / killer block state