-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathMainForm.ToolTips.cs
816 lines (646 loc) · 35.6 KB
/
MainForm.ToolTips.cs
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
// Copyright 2009-2013 Matvei Stefarov <[email protected]>
namespace fCraft.ConfigGUI {
partial class MainForm {
private void FillToolTipsGeneral() {
toolTip.SetToolTip( lServerName, ConfigKey.ServerName.GetDescription() );
toolTip.SetToolTip( tServerName, ConfigKey.ServerName.GetDescription() );
toolTip.SetToolTip( CustomName, ConfigKey.CustomChatName.GetDescription() );
toolTip.SetToolTip( CustomAliases, ConfigKey.CustomAliasName.GetDescription() );
toolTip.SetToolTip( SwearBox, ConfigKey.SwearName.GetDescription() );
toolTip.SetToolTip( lMOTD, ConfigKey.MOTD.GetDescription() );
toolTip.SetToolTip( tMOTD, ConfigKey.MOTD.GetDescription() );
toolTip.SetToolTip( lMaxPlayers, ConfigKey.MaxPlayers.GetDescription() );
toolTip.SetToolTip( nMaxPlayers, ConfigKey.MaxPlayers.GetDescription() );
toolTip.SetToolTip( lMaxPlayersPerWorld, ConfigKey.MaxPlayersPerWorld.GetDescription() );
toolTip.SetToolTip( nMaxPlayersPerWorld, ConfigKey.MaxPlayersPerWorld.GetDescription() );
toolTip.SetToolTip( lDefaultRank, ConfigKey.DefaultRank.GetDescription() );
toolTip.SetToolTip( cDefaultRank, ConfigKey.DefaultRank.GetDescription() );
toolTip.SetToolTip( lPublic, ConfigKey.IsPublic.GetDescription() );
toolTip.SetToolTip( cPublic, ConfigKey.IsPublic.GetDescription() );
toolTip.SetToolTip( nPort, ConfigKey.Port.GetDescription() );
toolTip.SetToolTip( lPort, ConfigKey.Port.GetDescription() );
toolTip.SetToolTip( bPortCheck,
@"Check if the selected port is connectible.
If port check fails, you may need to set up
port forwarding on your router." );
toolTip.SetToolTip( nUploadBandwidth, ConfigKey.UploadBandwidth.GetDescription() );
toolTip.SetToolTip( lUploadBandwidth, ConfigKey.UploadBandwidth.GetDescription() );
toolTip.SetToolTip( bMeasure,
@"Test your connection's upload speed with speedtest.net
Note: to convert from megabits to kilobytes, multiply the
number by 128" );
toolTip.SetToolTip( bRules,
@"Edit the list of rules displayed by the ""/Rules"" command.
This list is stored in rules.txt, and can also be edited with any text editor.
If rules.txt is missing or empty, ""/Rules"" shows this message:
""Use common sense!""" );
const string tipAnnouncements =
@"Show a random announcement every once in a while.
Announcements are shown to all players, one line at a time, in random order.";
toolTip.SetToolTip( xAnnouncements, tipAnnouncements );
toolTip.SetToolTip( nAnnouncements, ConfigKey.AnnouncementInterval.GetDescription() );
toolTip.SetToolTip( lAnnouncementsUnits, ConfigKey.AnnouncementInterval.GetDescription() );
toolTip.SetToolTip( bAnnouncements,
@"Edit the list of announcements (announcements.txt).
One line is shown at a time, in random order.
You can include any color codes in the announcements.
You can also edit announcements.txt with any text editor." );
toolTip.SetToolTip( bGreeting,
@"Edit a custom greeting that's shown to connecting players.
You can use any color codes, and these special variables:
{SERVER_NAME} = server name (as defined in config)
{RANK} = connecting player's rank" );
toolTip.SetToolTip( SwearEditor,
@"Edit the list of Swearwords (swearwords.txt).
Each swearword should be on a seperate line." );
toolTip.SetToolTip( ReqsEditor,
@"Edit the list of requirements for the ranks
on your server." );
}
private void FillToolTipsChat() {
toolTip.SetToolTip( xRankColorsInChat, ConfigKey.RankColorsInChat.GetDescription() );
toolTip.SetToolTip( xRankColorsInWorldNames, ConfigKey.RankColorsInWorldNames.GetDescription() );
toolTip.SetToolTip( xRankPrefixesInChat, ConfigKey.RankPrefixesInChat.GetDescription() );
toolTip.SetToolTip( xRankPrefixesInList, ConfigKey.RankPrefixesInList.GetDescription() );
toolTip.SetToolTip( xShowConnectionMessages, ConfigKey.ShowConnectionMessages.GetDescription() );
toolTip.SetToolTip( xShowJoinedWorldMessages, ConfigKey.ShowJoinedWorldMessages.GetDescription() );
toolTip.SetToolTip( bColorSys, ConfigKey.SystemMessageColor.GetDescription() );
toolTip.SetToolTip( lColorSys, ConfigKey.SystemMessageColor.GetDescription() );
toolTip.SetToolTip( bColorHelp, ConfigKey.HelpColor.GetDescription() );
toolTip.SetToolTip( lColorHelp, ConfigKey.HelpColor.GetDescription() );
toolTip.SetToolTip( bColorSay, ConfigKey.SayColor.GetDescription() );
toolTip.SetToolTip( lColorSay, ConfigKey.SayColor.GetDescription() );
toolTip.SetToolTip( bColorAnnouncement, ConfigKey.AnnouncementColor.GetDescription() );
toolTip.SetToolTip( lColorAnnouncement, ConfigKey.AnnouncementColor.GetDescription() );
toolTip.SetToolTip( bColorPM, ConfigKey.PrivateMessageColor.GetDescription() );
toolTip.SetToolTip( lColorPM, ConfigKey.PrivateMessageColor.GetDescription() );
toolTip.SetToolTip( bColorMe, ConfigKey.MeColor.GetDescription() );
toolTip.SetToolTip( lColorMe, ConfigKey.MeColor.GetDescription() );
toolTip.SetToolTip( bColorWarning, ConfigKey.WarningColor.GetDescription() );
toolTip.SetToolTip( lColorWarning, ConfigKey.WarningColor.GetDescription() );
}
private void FillToolTipsWorlds() {
toolTip.SetToolTip( bAddWorld, "Add a new world to the list." );
toolTip.SetToolTip( bWorldEdit, "Edit or replace an existing world." );
toolTip.SetToolTip( cMainWorld, "Main world is the first world that players see when they join the server." );
toolTip.SetToolTip( bWorldDelete, "Delete a world from the list." );
toolTip.SetToolTip( lDefaultBuildRank, ConfigKey.DefaultBuildRank.GetDescription() );
toolTip.SetToolTip( cDefaultBuildRank, ConfigKey.DefaultBuildRank.GetDescription() );
toolTip.SetToolTip( tMapPath, ConfigKey.MapPath.GetDescription() );
toolTip.SetToolTip( xMapPath, ConfigKey.MapPath.GetDescription() );
toolTip.SetToolTip( xWoMEnableEnvExtensions, ConfigKey.WoMEnableEnvExtensions.GetDescription() );
}
private void FillToolTipsRanks() {
toolTip.SetToolTip( xAllowSecurityCircumvention,
@"Allows players to manupulate whitelists/blacklists or rank requirements
in order to join restricted worlds, or to build in worlds/zones. Normally
players with ManageWorlds and ManageZones permissions are not allowed to do this.
Affected commands:
/WAccess
/WBuild
/WMain
/ZEdit" );
toolTip.SetToolTip( bAddRank, "Add a new rank to the list." );
toolTip.SetToolTip( bDeleteRank,
@"Delete a rank from the list. You will be prompted to specify a replacement
rank - to be able to convert old references to the deleted rank." );
toolTip.SetToolTip( bRaiseRank,
@"Raise a rank (and all players of the rank) on the hierarchy.
The hierarchy is used for all permission checks." );
toolTip.SetToolTip( bLowerRank,
@"Lower a rank (and all players of the rank) on the hierarchy.
The hierarchy is used for all permission checks." );
const string tipRankName =
"Name of the rank - between 2 and 16 alphanumeric characters.";
toolTip.SetToolTip( lRankName, tipRankName );
toolTip.SetToolTip( tRankName, tipRankName );
const string tipRankColor =
@"Color associated with this rank.
Rank colors may be applied to player and world names.";
toolTip.SetToolTip( lRankColor, tipRankColor );
toolTip.SetToolTip( bColorRank, tipRankColor );
const string tipPrefix =
@"1-character prefix that may be shown above player names.
The option to show prefixes in chat is on ""General"" tab.";
toolTip.SetToolTip( lPrefix, tipPrefix );
toolTip.SetToolTip( tPrefix, tipPrefix );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Kick],
@"Limit on who can be kicked by players of this rank.
By default, players can only kick players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Ban],
@"Limit on who can be banned by players of this rank.
By default, players can only ban players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Promote],
@"Limit on how much can players of this rank promote others.
By default, players can only promote up to the same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Demote],
@"Limit on whom players of this rank can demote.
By default, players can only demote players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Hide],
@"Limit on whom can players of this rank hide from.
By default, players can only hide from players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Freeze],
@"Limit on who can be frozen by players of this rank.
By default, players can only freeze players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Mute],
@"Limit on who can be muted by players of this rank.
By default, players can only mute players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Bring],
@"Limit on who can be brought (forcibly teleported) by players of this rank.
By default, players can only bring players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.Spectate],
@"Limit on who can be spectated by players of this rank.
By default, players can only bring players of same or lower rank." );
toolTip.SetToolTip( permissionLimitBoxes[Permission.UndoOthersActions],
@"Limit on whose actions players of this rank can undo.
By default, players can only undo actions of players of same or lower rank." );
toolTip.SetToolTip( xReserveSlot,
@"Allows players of this rank to join the server
even if it reached the maximum number of players." );
toolTip.SetToolTip( HiddenBox,
@"Hides this rank from the /Ranks command" );
const string tipKickIdle = "Allows kicking players who have been inactive/AFK for some time.";
toolTip.SetToolTip( xKickIdle, tipKickIdle );
toolTip.SetToolTip( nKickIdle, tipKickIdle );
toolTip.SetToolTip( lKickIdleUnits, tipKickIdle );
toolTip.SetToolTip( xAntiGrief,
@"Antigrief is an automated system for kicking players who build
or delete at abnormally high rates. This helps stop certain kinds
of malicious software (like MCTunnel) from doing large-scale damage
to server maps. False positives can sometimes occur if server or
player connection is very laggy." );
toolTip.SetToolTip( nAntiGriefBlocks,
@"Maximum number of blocks that players of this rank are
allowed to build in a specified time period." );
toolTip.SetToolTip( nAntiGriefBlocks,
@"Minimum time interval that players of this rank are
expected to spent to build a specified number of blocks." );
const string tipDrawLimit =
@"Limit on the number of blocks that a player is
allowed to affect with drawing or copy/paste commands
at one time. If unchecked, there is no limit.";
toolTip.SetToolTip( xDrawLimit, tipDrawLimit );
toolTip.SetToolTip( nDrawLimit, tipDrawLimit );
toolTip.SetToolTip( lDrawLimitUnits, tipDrawLimit );
vPermissions.Items[( int )Permission.Ban].ToolTipText =
@"Ability to ban/unban other players from the server.
Affected commands:
/Ban
/Banx
/Unban";
vPermissions.Items[( int )Permission.BanAll].ToolTipText =
@"Ability to ban/unban a player account, his IP, and all other accounts that used the IP.
BanAll/UnbanAll commands can be used on players who keep evading bans.
Required permissions: Ban & BanIP
Affected commands:
/BanAll
/UnbanAll";
vPermissions.Items[( int )Permission.BanIP].ToolTipText =
@"Ability to ban/unban players by IP.
Required permission: Ban
Affected commands:
/BanIP
/UnbanIP";
vPermissions.Items[( int )Permission.Basscannon].ToolTipText =
@"Ability to kick a player with stlye.
Affected command:
/Basscannon";
vPermissions.Items[( int )Permission.Bring].ToolTipText =
@"Ability to bring/summon other players to your location.
This works a bit like reverse-teleport - other player is sent to you.
Affected commands:
/Bring
/BringAll";
vPermissions.Items[( int )Permission.BringAll].ToolTipText =
@"Ability to bring/summon many players at a time to your location.
Affected command:
/BringAll";
vPermissions.Items[( int )Permission.BroMode].ToolTipText =
@"Ability to activate BroMode.
Affected command:
/BroMode";
vPermissions.Items[( int )Permission.Build].ToolTipText =
@"Ability to place blocks on maps. This is a baseline permission
that can be overridden by world-specific and zone-specific permissions.";
vPermissions.Items[( int )Permission.Chat].ToolTipText =
@"Ability to chat and PM players. Note that players without this
permission can still type in commands, receive PMs, and read chat.
Affected commands:
/Say
@ (pm)
@@ (rank chat)";
vPermissions.Items[( int )Permission.ChatWithCaps].ToolTipText =
@"Ability to chat with caps without restrictions.";
vPermissions.Items[( int )Permission.CopyAndPaste].ToolTipText =
@"Ability to copy (or cut) and paste blocks. The total number of
blocks that can be copied or pasted at a time is affected by
the draw limit.
Affected commands:
/Copy
/Cut
/Mirror
/Paste, /PasteNot
/Rotate";
vPermissions.Items[( int )Permission.Delete].ToolTipText =
@"Ability to delete or replace blocks on maps. This is a baseline permission
that can be overridden by world-specific and zone-specific permissions.";
vPermissions.Items[( int )Permission.DeleteAdmincrete].ToolTipText =
@"Ability to delete admincrete (aka adminium) blocks. Even if someone
has this permission, it can be overridden by world-specific and
zone-specific permissions.
Required permission: Delete";
vPermissions.Items[( int )Permission.Demote].ToolTipText =
@"Ability to demote other players to a lower rank.
Affected commands:
/Rank
/MassRank";
vPermissions.Items[( int )Permission.Draw].ToolTipText =
@"Ability to use drawing tools (commands capable of affecting many blocks
at once). This permission can be overridden by world-specific and
zone-specific permissions.
Required permission: Build, Delete
Affected commands:
/Cuboid, /CuboidH, and /CuboidW
/Ellipsoid and /EllipsoidH
/Line
/Replace and /ReplaceNot
/Undo and /Redo";
vPermissions.Items[( int )Permission.DrawAdvanced].ToolTipText =
@"Ability to use advanced drawing tools, such as brushes.
Required permission: Build, Delete, Draw
Affected commands:
/Brush
/ReplaceBrush
/Restore
/Sphere and /SphereH
/Torus";
vPermissions.Items[( int )Permission.EditPlayerDB].ToolTipText =
@"Ability to edit the player database directly. This also adds the ability to
promote/demote players by name, even if they have not visited the server yet.
Also allows to manipulate players' records, and to promote/demote players in batches.
Affected commands:
/PruneDB
/AutoRankAll
/MassRank
/SetInfo
/Nick
/InfoSwap
/DumpStats";
vPermissions.Items[( int )Permission.Fireworks].ToolTipText =
@"Ability to create fireworks.
Affected command:
/Firework";
vPermissions.Items[( int )Permission.Freeze].ToolTipText =
@"Ability to freeze/unfreeze players. Frozen players cannot
move or build/delete.
Affected commands:
/Freeze
/Unfreeze";
vPermissions.Items[( int )Permission.Gtfo].ToolTipText =
@"Ability to kick a player without saving it to the DB.
Affected command:
/Gtfo";
vPermissions.Items[( int )Permission.Gun].ToolTipText =
@"Ability to use a gun.
Affected command:
/Gun";
vPermissions.Items[( int )Permission.Hide].ToolTipText =
@"Ability to appear hidden from other players. You can still chat,
build/delete blocks, use all commands, and join worlds while hidden.
Hidden players are completely invisible to other players.
Affected commands:
/Hide
/Unhide";
vPermissions.Items[( int )Permission.HideRanks].ToolTipText =
@"Ability to hide ranks from the /ranks list.
Affected command:
/RankHide";
vPermissions.Items[( int )Permission.HighFive].ToolTipText =
@"Ability to give a player a HighFive.
Affected command:
/High5";
vPermissions.Items[( int )Permission.Import].ToolTipText =
@"Ability to import rank and ban lists from files. Useful if you
are switching from another server software.
Affected commands:
/Import";
vPermissions.Items[( int )Permission.Immortal].ToolTipText =
@"Ability to become immortal.
Affected command:
/Immortal";
vPermissions.Items[( int )Permission.Kick].ToolTipText =
@"Ability to kick players from the server.
Affected commands:
/Kick";
vPermissions.Items[( int )Permission.Kill].ToolTipText =
@"Ability to kill players.
Affected command:
/Kill";
vPermissions.Items[( int )Permission.Lock].ToolTipText =
@"Ability to lock/unlock maps (locking puts a world into read-only state.)
Affected commands:
/WLock
/WUnlock";
vPermissions.Items[( int )Permission.MakeVoteKicks].ToolTipText =
@"Ability to vote to kick a player.
Affected command:
/Vote";
vPermissions.Items[( int )Permission.MakeVotes].ToolTipText =
@"Ability to create votes.
Affected command:
/Vote";
vPermissions.Items[( int )Permission.ManageWorlds].ToolTipText =
@"Ability to manipulate the world list: adding, renaming, and deleting worlds,
loading/saving maps, change per-world permissions, and using the map generator.
Affected commands:
/WLoad
/WUnload
/WRename
/WMain
/WAccess and /WBuild
/WFlush
/Gen";
vPermissions.Items[( int )Permission.ManageBlockDB].ToolTipText =
@"Ability to enable/disable, clear, and configure BlockDB.
Affected command:
/BlockDB";
vPermissions.Items[( int )Permission.ManagePortal].ToolTipText =
@"Ability to create, edit, and delete portals.
Affected command:
/Portal";
vPermissions.Items[( int )Permission.ManageZones].ToolTipText =
@"Ability to manipulate zones: adding, editing, renaming, and removing zones.
Affected commands:
/ZAdd
/ZEdit
/ZRemove
/ZRename";
vPermissions.Items[( int )Permission.Moderation].ToolTipText =
@"Ability to mute everyone in the server, useful for announcements.
Affected command:
/Moderate";
vPermissions.Items[( int )Permission.Mute].ToolTipText =
@"Ability to temporarily mute players. Muted players cannot write chat or
send PMs, but they can still type in commands, receive PMs, and read chat.
Affected commands:
/Mute
/Unmute";
vPermissions.Items[( int )Permission.Patrol].ToolTipText =
@"Ability to patrol lower-ranked players. ""Patrolling"" means teleporting
to other players to check on them, usually while hidden.
Required permission: Teleport
Affected commands:
/Patrol
/SpecPatrol";
vPermissions.Items[( int )Permission.Physics].ToolTipText =
@"Ability to activate Physics on a world.
Affected command:
/Physics";
vPermissions.Items[( int )Permission.PlaceAdmincrete].ToolTipText =
@"Ability to place admincrete/adminium. This also affects draw commands.
Required permission: Build
Affected commands:
/Solid
/Bind";
vPermissions.Items[( int )Permission.PlaceGrass].ToolTipText =
@"Ability to place grass blocks. This also affects draw commands.
Required permission: Build
Affected commands:
/Grass
/Bind";
vPermissions.Items[( int )Permission.PlaceLava].ToolTipText =
@"Ability to place lava blocks. This also affects draw commands.
Required permission: Build
Affected commands:
/Lava
/Bind";
vPermissions.Items[( int )Permission.PlaceWater].ToolTipText =
@"Ability to place water blocks. This also affects draw commands.
Required permission: Build
Affected commands:
/Water
/Bind";
vPermissions.Items[( int )Permission.Possess].ToolTipText =
@"Ability to possess a player.
Affected commands:
/Possess
/unpossess";
vPermissions.Items[( int )Permission.Promote].ToolTipText =
@"Ability to promote players to a higher rank.
Affected commands:
/Rank";
vPermissions.Items[( int )Permission.RageQuit].ToolTipText =
@"Ability to ragequit from the server.
Affected command:
/Ragequit";
vPermissions.Items[( int )Permission.ReadAdminChat].ToolTipText =
@"Ability to read Admin chat.";
vPermissions.Items[( int )Permission.ReadCustomChat].ToolTipText =
@"Ability to read Custom chat.";
vPermissions.Items[( int )Permission.ReadStaffChat].ToolTipText =
@"Ability to read staff chat.";
vPermissions.Items[( int )Permission.Realm].ToolTipText =
@"Ability to create realms.
Affected command:
/Realm";
vPermissions.Items[( int )Permission.ReloadConfig].ToolTipText =
@"Ability to reload the configuration file without restarting.
Affected commands:
/Reload";
vPermissions.Items[( int )Permission.Say].ToolTipText =
@"Ability to use /Say command.
Required permission: Chat
Affected commands:
/Say";
vPermissions.Items[( int )Permission.SetSpawn].ToolTipText =
@"Ability to change the spawn point of a world or a player.
Affected commands:
/SetSpawn";
vPermissions.Items[( int )Permission.ShutdownServer].ToolTipText =
@"Ability to shut down or restart the server remotely.
Useful for servers that run on dedicated machines.
Affected commands:
/Shutdown
/Restart";
vPermissions.Items[( int )Permission.Slap].ToolTipText =
@"Ability to slap players.
Affected command:
/Slap";
vPermissions.Items[( int )Permission.Spectate].ToolTipText =
@"Ability to spectate/follow other players in first-person view.
Affected commands:
/Spectate";
vPermissions.Items[( int )Permission.Swear].ToolTipText =
@"Ability to use swear words without restrictions";
vPermissions.Items[( int )Permission.Teleport].ToolTipText =
@"Ability to teleport to other players.
Affected commands:
/TP";
vPermissions.Items[( int )Permission.TempBan].ToolTipText =
@"Ability to temporarily ban a player.
Affected command:
/Tempban";
vPermissions.Items[( int )Permission.Tower].ToolTipText =
@"Ability to create a Tower.
Affected command:
/Tower";
vPermissions.Items[( int )Permission.Troll].ToolTipText =
@"Ability to troll players.
Affected command:
/Troll";
vPermissions.Items[( int )Permission.UndoOthersActions].ToolTipText =
@"Ability to undo actions of other players, using the BlockDB.
Affected commands:
/UndoArea
/UndoPlayer";
vPermissions.Items[( int )Permission.UseColorCodes].ToolTipText =
@"Ability to use color codes in chat messages.";
vPermissions.Items[( int )Permission.UsePortal].ToolTipText =
@"Ability to use portals (not be confused with ManagePortal).";
vPermissions.Items[( int )Permission.UseSpeedHack].ToolTipText =
@"Ability to move at a faster-than-normal rate (using hacks).
WARNING: Speedhack detection is often inaccurate, and may produce many
false positives - especially on laggy servers.";
vPermissions.Items[( int )Permission.Warn].ToolTipText =
@"Ability to warn a player.
Affected command:
/Warn";
vPermissions.Items[( int )Permission.ViewOthersInfo].ToolTipText =
@"Ability to view extended information about other players.
Affected commands:
/Info
/BanInfo
/Where";
vPermissions.Items[( int )Permission.ViewPlayerIPs].ToolTipText =
@"Ability to view players' IP addresses.
Affected commands:
/Info
/BanInfo
/BanIP, /BanAll, /UnbanIP, /UnbanAll";
}
private void FillToolTipsSecurity() {
toolTip.SetToolTip( lVerifyNames, ConfigKey.VerifyNames.GetDescription() );
toolTip.SetToolTip( cVerifyNames, ConfigKey.VerifyNames.GetDescription() );
toolTip.SetToolTip( xMaxConnectionsPerIP, ConfigKey.MaxConnectionsPerIP.GetDescription() );
toolTip.SetToolTip( nMaxConnectionsPerIP, ConfigKey.MaxConnectionsPerIP.GetDescription() );
toolTip.SetToolTip( xAllowUnverifiedLAN, ConfigKey.AllowUnverifiedLAN.GetDescription() );
toolTip.SetToolTip( xRequireBanReason, ConfigKey.RequireBanReason.GetDescription() );
toolTip.SetToolTip( xRequireKickReason, ConfigKey.RequireKickReason.GetDescription() );
toolTip.SetToolTip( xRequireRankChangeReason, ConfigKey.RequireRankChangeReason.GetDescription() );
toolTip.SetToolTip( xAnnounceKickAndBanReasons, ConfigKey.AnnounceKickAndBanReasons.GetDescription() );
toolTip.SetToolTip( xAnnounceRankChanges, ConfigKey.AnnounceRankChanges.GetDescription() );
toolTip.SetToolTip( xAnnounceRankChangeReasons, ConfigKey.AnnounceRankChanges.GetDescription() );
toolTip.SetToolTip( lPatrolledRank, ConfigKey.PatrolledRank.GetDescription() );
toolTip.SetToolTip( cPatrolledRank, ConfigKey.PatrolledRank.GetDescription() );
toolTip.SetToolTip( lPatrolledRankAndBelow, ConfigKey.PatrolledRank.GetDescription() );
toolTip.SetToolTip( nAntispamMessageCount, ConfigKey.AntispamMessageCount.GetDescription() );
toolTip.SetToolTip( lAntispamMessageCount, ConfigKey.AntispamMessageCount.GetDescription() );
toolTip.SetToolTip( nAntispamInterval, ConfigKey.AntispamInterval.GetDescription() );
toolTip.SetToolTip( lAntispamInterval, ConfigKey.AntispamInterval.GetDescription() );
toolTip.SetToolTip( xAntispamKicks, "Kick players who repeatedly trigger antispam warnings." );
toolTip.SetToolTip( nAntispamMaxWarnings, ConfigKey.AntispamMaxWarnings.GetDescription() );
toolTip.SetToolTip( lAntispamMaxWarnings, ConfigKey.AntispamMaxWarnings.GetDescription() );
toolTip.SetToolTip( xBlockDBEnabled, ConfigKey.BlockDBEnabled.GetDescription() );
toolTip.SetToolTip( xBlockDBAutoEnable, ConfigKey.BlockDBAutoEnable.GetDescription() );
toolTip.SetToolTip( cBlockDBAutoEnableRank, ConfigKey.BlockDBAutoEnableRank.GetDescription() );
}
private void FillToolTipsSavingAndBackup() {
toolTip.SetToolTip( xSaveInterval, ConfigKey.SaveInterval.GetDescription() );
toolTip.SetToolTip( nSaveInterval, ConfigKey.SaveInterval.GetDescription() );
toolTip.SetToolTip( lSaveIntervalUnits, ConfigKey.SaveInterval.GetDescription() );
toolTip.SetToolTip( xBackupOnStartup, ConfigKey.BackupOnStartup.GetDescription() );
toolTip.SetToolTip( xBackupOnJoin, ConfigKey.BackupOnJoin.GetDescription() );
toolTip.SetToolTip( xBackupInterval, ConfigKey.DefaultBackupInterval.GetDescription() );
toolTip.SetToolTip( nBackupInterval, ConfigKey.DefaultBackupInterval.GetDescription() );
toolTip.SetToolTip( lBackupIntervalUnits, ConfigKey.DefaultBackupInterval.GetDescription() );
toolTip.SetToolTip( xBackupOnlyWhenChanged, ConfigKey.DefaultBackupInterval.GetDescription() );
toolTip.SetToolTip( xMaxBackups, ConfigKey.MaxBackups.GetDescription() );
toolTip.SetToolTip( nMaxBackups, ConfigKey.MaxBackups.GetDescription() );
toolTip.SetToolTip( lMaxBackups, ConfigKey.MaxBackups.GetDescription() );
toolTip.SetToolTip( xMaxBackupSize, ConfigKey.MaxBackupSize.GetDescription() );
toolTip.SetToolTip( nMaxBackupSize, ConfigKey.MaxBackupSize.GetDescription() );
toolTip.SetToolTip( lMaxBackupSize, ConfigKey.MaxBackupSize.GetDescription() );
}
private void FillToolTipsLogging() {
toolTip.SetToolTip( lLogMode, ConfigKey.LogMode.GetDescription() );
toolTip.SetToolTip( cLogMode, ConfigKey.LogMode.GetDescription() );
toolTip.SetToolTip( xLogLimit, ConfigKey.MaxLogs.GetDescription() );
toolTip.SetToolTip( nLogLimit, ConfigKey.MaxLogs.GetDescription() );
toolTip.SetToolTip( lLogLimitUnits, ConfigKey.MaxLogs.GetDescription() );
vLogFileOptions.Items[( int )LogType.ConsoleInput].ToolTipText = "Commands typed in from the server console.";
vLogFileOptions.Items[( int )LogType.ConsoleOutput].ToolTipText =
@"Things sent directly in response to console input,
e.g. output of commands called from console.";
vLogFileOptions.Items[( int )LogType.Debug].ToolTipText = "Technical information that may be useful to find bugs.";
vLogFileOptions.Items[( int )LogType.Error].ToolTipText = "Major errors and problems.";
vLogFileOptions.Items[( int )LogType.SeriousError].ToolTipText = "Errors that prevent server from starting or result in crashes.";
vLogFileOptions.Items[( int )LogType.GlobalChat].ToolTipText = "Normal chat messages written by players.";
vLogFileOptions.Items[( int )LogType.IRC].ToolTipText =
@"IRC-related status and error messages.
Does not include IRC chatter (see IRCChat).";
vLogFileOptions.Items[( int )LogType.PrivateChat].ToolTipText = "PMs (Private Messages) exchanged between players (@player message).";
vLogFileOptions.Items[( int )LogType.RankChat].ToolTipText = "Rank-wide messages (@@rank message).";
vLogFileOptions.Items[( int )LogType.SuspiciousActivity].ToolTipText = "Suspicious activity - hack attempts, failed logins, unverified names.";
vLogFileOptions.Items[( int )LogType.SystemActivity].ToolTipText = "Status messages regarding normal system activity.";
vLogFileOptions.Items[( int )LogType.UserActivity].ToolTipText = "Status messages regarding players' actions.";
vLogFileOptions.Items[( int )LogType.UserCommand].ToolTipText = "Commands types in by players.";
vLogFileOptions.Items[( int )LogType.Warning].ToolTipText = "Minor, recoverable errors and problems.";
vLogFileOptions.Items[( int )LogType.ChangedWorld].ToolTipText = "Logs when a player changes world.";
for ( int i = 0; i < vConsoleOptions.Items.Count; i++ ) {
vConsoleOptions.Items[i].ToolTipText = vLogFileOptions.Items[i].ToolTipText;
}
}
private void FillToolTipsIRC() {
toolTip.SetToolTip( xIRCBotEnabled, ConfigKey.IRCBotEnabled.GetDescription() );
const string tipIRCList =
@"Choose one of these popular IRC networks,
or type in address/port manually below.";
toolTip.SetToolTip( lIRCList, tipIRCList );
toolTip.SetToolTip( cIRCList, tipIRCList );
toolTip.SetToolTip( lIRCBotNick, ConfigKey.IRCBotNick.GetDescription() );
toolTip.SetToolTip( tIRCBotNick, ConfigKey.IRCBotNick.GetDescription() );
toolTip.SetToolTip( lIRCBotNetwork, ConfigKey.IRCBotNetwork.GetDescription() );
toolTip.SetToolTip( tIRCBotNetwork, ConfigKey.IRCBotNetwork.GetDescription() );
toolTip.SetToolTip( lIRCBotPort, ConfigKey.IRCBotPort.GetDescription() );
toolTip.SetToolTip( nIRCBotPort, ConfigKey.IRCBotPort.GetDescription() );
toolTip.SetToolTip( lIRCDelay, ConfigKey.IRCDelay.GetDescription() );
toolTip.SetToolTip( nIRCDelay, ConfigKey.IRCDelay.GetDescription() );
toolTip.SetToolTip( lIRCDelayUnits, ConfigKey.IRCDelay.GetDescription() );
toolTip.SetToolTip( tIRCBotChannels, ConfigKey.IRCBotChannels.GetDescription() );
toolTip.SetToolTip( xIRCRegisteredNick, ConfigKey.IRCRegisteredNick.GetDescription() );
toolTip.SetToolTip( lIRCNickServ, ConfigKey.IRCNickServ.GetDescription() );
toolTip.SetToolTip( tIRCNickServ, ConfigKey.IRCNickServ.GetDescription() );
toolTip.SetToolTip( lIRCNickServMessage, ConfigKey.IRCNickServMessage.GetDescription() );
toolTip.SetToolTip( tIRCNickServMessage, ConfigKey.IRCNickServMessage.GetDescription() );
toolTip.SetToolTip( lColorIRC, ConfigKey.IRCMessageColor.GetDescription() );
toolTip.SetToolTip( bColorIRC, ConfigKey.IRCMessageColor.GetDescription() );
toolTip.SetToolTip( xIRCBotForwardFromIRC, ConfigKey.IRCBotForwardFromIRC.GetDescription() );
toolTip.SetToolTip( xIRCBotAnnounceIRCJoins, ConfigKey.IRCBotAnnounceIRCJoins.GetDescription() );
toolTip.SetToolTip( xIRCBotForwardFromServer, ConfigKey.IRCBotForwardFromServer.GetDescription() );
toolTip.SetToolTip( xIRCBotAnnounceServerJoins, ConfigKey.IRCBotAnnounceServerJoins.GetDescription() );
toolTip.SetToolTip( xIRCBotAnnounceServerEvents, ConfigKey.IRCBotAnnounceServerEvents.GetDescription() );
// TODO: IRCThreads
toolTip.SetToolTip( xIRCUseColor, ConfigKey.IRCUseColor.GetDescription() );
}
private void FillToolTipsAdvanced() {
toolTip.SetToolTip( xRelayAllBlockUpdates, ConfigKey.RelayAllBlockUpdates.GetDescription() );
toolTip.SetToolTip( xNoPartialPositionUpdates, ConfigKey.NoPartialPositionUpdates.GetDescription() );
toolTip.SetToolTip( xLowLatencyMode, ConfigKey.LowLatencyMode.GetDescription() );
toolTip.SetToolTip( lProcessPriority, ConfigKey.ProcessPriority.GetDescription() );
toolTip.SetToolTip( cProcessPriority, ConfigKey.ProcessPriority.GetDescription() );
toolTip.SetToolTip( lUpdater, ConfigKey.UpdaterMode.GetDescription() );
toolTip.SetToolTip( cUpdaterMode, ConfigKey.UpdaterMode.GetDescription() );
toolTip.SetToolTip( lThrottling, ConfigKey.BlockUpdateThrottling.GetDescription() );
toolTip.SetToolTip( nThrottling, ConfigKey.BlockUpdateThrottling.GetDescription() );
toolTip.SetToolTip( lThrottlingUnits, ConfigKey.BlockUpdateThrottling.GetDescription() );
toolTip.SetToolTip( lTickInterval, ConfigKey.TickInterval.GetDescription() );
toolTip.SetToolTip( nTickInterval, ConfigKey.TickInterval.GetDescription() );
toolTip.SetToolTip( lTickIntervalUnits, ConfigKey.TickInterval.GetDescription() );
toolTip.SetToolTip( xMaxUndo, ConfigKey.MaxUndo.GetDescription() );
toolTip.SetToolTip( nMaxUndo, ConfigKey.MaxUndo.GetDescription() );
toolTip.SetToolTip( lMaxUndoUnits, ConfigKey.MaxUndo.GetDescription() );
toolTip.SetToolTip( xIP, ConfigKey.IP.GetDescription() );
toolTip.SetToolTip( tIP, ConfigKey.IP.GetDescription() );
}
}
}