Join-quit
Module info | |
---|---|
Configuration | join-quit-modules.yml |
Manager | N/A |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module controls what happens when a player joins and quits the server. It does not present any settings itself and it is composed of several sub-modules which instead do require to be set up.
Sub-modules Join messages Quit messages Switch messages Join titles Welcome messages Suggested version Account check |
Default configuration (join-quit-modules.yml
in 1.8+)
join-quit-modules:
join-messages:
settings:
enabled: true
placeholder-types:
- PLAYER
user:
english:
- '&8[&a&l+&8] &r{prefix}{tag_name_color}{player}{suffix}'
italian:
- '&8[&a&l+&8] &r{prefix}{tag_name_color}{player}{suffix}'
quit-messages:
settings:
enabled: true
placeholder-types:
- PLAYER
user:
english:
- '&8[&c&l-&8] &r{prefix}{tag_name_color}{player}{suffix}'
italian:
- '&8[&c&l-&8] &r{prefix}{tag_name_color}{player}{suffix}'
switch-messages:
settings:
enabled: false
placeholder-types:
- PLAYER
user:
english:
- '&8[&e&l»&8] &r{prefix}{tag_name_color}{player}{suffix} &e➡ &r{server}'
italian:
- '&8[&e&l»&8] &r{prefix}{tag_name_color}{player}{suffix} &e➡ &r{server}'
join-titles:
settings:
enabled: true
fade-in-ms: 500
stay-ms: 3500
fade-out-ms: 1000
delay-ms: 1000
placeholder-types:
- JUST_NAME
titles:
english: '&d&lWelcome, &f{player}&d&l!'
italian: '&d&lBenvenuti, &f{player}&d&l!'
subtitles:
english: '&eBe respectful and have fun!'
italian: '&eSiate rispettosi e divertitevi!'
welcome-messages:
settings:
enabled: true
delay-ms: 1000
placeholder-types:
- PLAYER
values:
english: '{pfx} &eHey, &f{tag_prefix}{tag_name_color}{player}{tag_suffix}&e! This is the default welcome message.'
italian: '{pfx} &eHey, &f{tag_prefix}{tag_name_color}{player}{tag_suffix}&e! Questo è il messaggio di benvenuto predefinito.'
suggested-version:
enabled: false
version: '{server_version}'
delay-ms: 10000
account-check:
enabled: false
perform-on-first-join: false
timeout-between-checks-ms: 10
max-time-played: 12h
punish-commands:
'2':
english:
- 'staffchat &f{player} &cowns multiple (&f{amount}&c) accounts: &f{accounts}&c.'
italian:
- 'staffchat &f{player} &cpossiede accounts multipli (&f{amount}&c): &f{accounts}&c.'
'3':
english:
- 'tempban {player} 30d Multiple ({amount}) accounts detected: {accounts}. This is an automatic ban. -s'
italian:
- 'tempban {player} 30d Accounts multipli ({amount}) rilevati: {accounts}. Questo è un ban automatico. -s'
ip-lookup:
enabled: false
max-accuracy-radius-km: 10
anti-ban-evading-system:
enabled: false
commands:
english:
- tempban {player} 30d Ban evading of account {account}. This is an automatic ban. -s
italian:
- tempban {player} 30d Elusione del ban dell'account {account}. Questo è un ban automatico. -s
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
Join messages
Module info | |
---|---|
Configuration | join-quit-modules.join-messages in join-quit-modules.yml |
Manager | JoinMessageManager |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module allows you to customize join messages based on the player's rank and language:
Each rank has its own list of join messages. When a member of a particular rank joins, a message will be randomly selected from their respective list and printed. If no join messages have been specified for that rank, they will be selected from the default rank's ones.
Setup
The following snippet of code represents and explains the join messages' configuration.
join-quit-modules:
join-messages:
settings:
enabled: true # whether to enable or disable this module
placeholder-types: # read below
- PLAYER
# ...default join messages...
2
3
4
5
6
7
Just like for the other modules, you have to specify which placeholder types you wish to use. Refer to the Modules/Placeholders page for more info.
Adding join messages
To add new join messages, you just need to specify their rank's ID and their messages.
# ...join messages' settings...
# ...default join messages...
vip: # rank's ID - required
english: # main language's translations - required
- '{prefix}{tag_name_color}{player}{suffix} &ehas joined the server.'
- '{prefix}{tag_name_color}{player}{suffix} &ahas joined the server.'
italian: # other language's translations - optional
- '{prefix}{tag_name_color}{player}{suffix} &esono entrati nel server.'
- '{prefix}{tag_name_color}{player}{suffix} &asono entrati nel server.'
# ...quit messages' settings...
11
12
13
14
15
16
17
18
19
Quit messages
Module info | |
---|---|
Configuration | join-quit-modules.quit-messages in join-quit-modules.yml |
Manager | QuitMessageManager |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module allows you to customize quit messages based on the player's rank and language:
Each rank has its own list of quit messages. When a member of a particular rank quits, a message will be randomly selected from their respective list and printed. If no quit messages have been specified for that rank, they will be selected from the default rank's ones.
Setup
The following snippet of code represents and explains the quit messages' configuration.
# ...join messages' settings...
quit-messages:
settings:
enabled: true # whether to enable or disable this module
placeholder-types: # read below
- PLAYER
# ...default quit messages...
12
13
14
15
16
17
Just like for the other modules, you have to specify which placeholder types you wish to use. Refer to the Modules/Placeholders page for more info.
Adding quit messages
To add new quit messages, you just need to specify their rank's ID and their messages.
# ...quit messages' settings...
# ...default quit messages...
vip: # rank's ID - required
english: # main language's translations - required
- '{prefix}{tag_name_color}{player}{suffix} &ehas quit the server.'
- '{prefix}{tag_name_color}{player}{suffix} &ahas quit the server.'
italian: # other language's translations - optional
- '{prefix}{tag_name_color}{player}{suffix} &esono usciti dal server.'
- '{prefix}{tag_name_color}{player}{suffix} &asono usciti dal server.'
# ...switch messages' settings...
21
22
23
24
25
26
27
28
29
Placeholders
Because of the quit event's nature, only a fraction of PLAYER
placeholders may be used in quit messages:
{player}
: player's name{uuid}
: player's UUID{display_name}
: player's display name{player_id}
: player's ID in database, integer{rank}
: player's rank's display name{prefix}
player's rank's prefix{suffix}
player's rank's suffix{tag_prefix}
: player's rank's tag's prefix{tag_suffix}
: player's rank's tag's prefix{tag_name_color}
: player's rank's tag's name color{chat_color}
: player's rank's tag's chat color{rank_description}
: player's rank's description (multi line)
Switch messages
Module info | |
---|---|
Configuration | join-quit-modules.switch-messages in join-quit-modules.yml |
Manager | SwitchMessageManager |
Support | 1.8+ |
Free version | ❌ |
Proxy-configurable | ✔ |
This module allows you to customize switch messages based on the player's rank and language:
This module only works if the multi instance mode is enabled. Each rank has its own list of switch messages. When a member of a particular rank switches servers, a message will be randomly selected from their respective list and printed. If no switch messages have been specified for that rank, they will be selected from the default rank's ones.
Setup
The following snippet of code represents and explains the switch messages' configuration.
# ...quit messages' settings...
switch-messages:
settings:
enabled: true # whether to enable or disable this module
placeholder-types: # read below
- PLAYER
# ...default switch messages...
22
23
24
25
26
27
Just like for the other modules, you have to specify which placeholder types you wish to use. Refer to the Modules/Placeholders page for more info.
Proxy setup
It is not mandatory, but servers' display names may be specified in the proxy's config.yml
:
# ...mutes' settings...
switch-messages:
displayed-server-names:
lobby: '&dLobby'
survival: '&4Survival'
61
62
63
64
Every entry is composed of the server's ID set at multi-instance-mode.server-id
in the server's config.yml
and the corresponding display name. If no display name is specified for a server, the {server}
placeholder will be replaced by that server's ID instead of its display name.
Adding switch messages
To add new switch messages, you just need to specify their rank's ID and their messages.
# ...switch messages' settings...
# ...default switch messages...
vip: # rank's ID - required
english: # main language's translations - required
- '{prefix}{tag_name_color}{player}{suffix} &ehas switched to {server}.'
- '{prefix}{tag_name_color}{player}{suffix} &ahas switched to {server}.'
italian: # other language's translations - optional
- '{prefix}{tag_name_color}{player}{suffix} &esono passati a {server}.'
- '{prefix}{tag_name_color}{player}{suffix} &asono passati a {server}.'
# ...join titles' settings...
31
32
33
34
35
36
37
38
39
Placeholders
Just like for quit messages, switch messages' placeholders are limited. Read here to find them out. Additionally, the {server}
placeholder may be used to indicate the server the player has switched to.
Join titles
Module info | |
---|---|
Configuration | join-quit-modules.join-titles in join-quit-modules.yml |
Manager | JoinTitleManager |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module sends customizable titles and subtitles when a player joins the server:
Setup
The following snippet of code represents and explains the join titles' configuration.
# ...switch messages' settings...
join-titles:
settings:
enabled: true # whether to enable or disable this module
fade-in-ms: 500 # time for the title to fade in, in milliseconds
stay-ms: 3500 # time for the title to stay on screen, in milliseconds
fade-out-ms: 1000 # time for the title to fade out, in milliseconds
delay-ms: 1000 # delay to wait before sending the title, in milliseconds
placeholder-types: # read below
- JUST_NAME
# ...titles and subtitles...
32
33
34
35
36
37
38
39
40
41
Just like for the other modules, you have to specify which placeholder types you wish to use. Refer to the Modules/Placeholders page for more info.
Customizing titles
To customize a title or subtitle, you just need to edit the titles
or subtitles
section:
# ...join titles' settings...
titles:
english: '&d&lWelcome, &f{player}&d&l!' # main language's translation - required
italian: '&d&lBenvenuti, &f{player}&d&l!' # other language's translation - optional
subtitles:
english: '&eBe respectful and have fun!'
italian: '&eSiate rispettosi e divertitevi!'
# ...welcome messages' settings...
41
42
43
44
45
46
47
To disable the subtitle, specify an empty string (''
) for every translation.
Welcome messages
Module info | |
---|---|
Configuration | join-quit-modules.welcome-messages in join-quit-modules.yml |
Manager | WelcomeMessageManager |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module sends customizable messages when a player joins the server:
Setup
The following snippet of code represents and explains the welcome messages' configuration.
# ...join titles' settings...
welcome-messages:
settings:
enabled: true # whether to enable or disable this module
delay-ms: 1000 # delay to wait before sending the message, in milliseconds
placeholder-types: # read below
- PLAYER
# ...values...
47
48
49
50
51
52
53
Just like for the other modules, you have to specify which placeholder types you wish to use. Refer to the Modules/Placeholders page for more info.
Customizing messages
To customize a message, you just need to edit the values
section:
# ...welcome messages' settings...
values:
english: '{pfx} &eHey, &f{tag_prefix}{tag_name_color}{player}{tag_suffix}&e! This is the default welcome message.' # main language's translation - required
italian: '{pfx} &eHey, &f{tag_prefix}{tag_name_color}{player}{tag_suffix}&e! Questo è il messaggio di benvenuto predefinito.' # other language's translation - optional
# ...suggested version's settings...
53
54
55
56
Suggested version
Module info | |
---|---|
Configuration | join-quit-modules.suggested-version in join-quit-modules.yml |
Manager | SuggestedVersionManager |
Support | 1.8+ |
Free version | ✔ |
Proxy-configurable | ❌ |
This module sends a message when players join the server with an outdated version:
Setup
The following snippet of code represents and explains the suggested version's configuration.
# ...welcome messages' settings...
suggested-version:
enabled: false # whether to enable or disable this module
version: '{server_version}' # minimum suggested version
delay-ms: 10000 # delay to wait before sending the message, in milliseconds
# ...account check's settings...
56
57
58
59
60
NOTE
This module is disabled by default.
The string specified at version
may contain any SERVER
placeholder or be a version's name like 1.19
. Specify false
at settings.truncate-version-string
in config.yml
if you want the placeholders string to indicate the full version (example: "1.19.4") instead of its truncated value (example: "1.19").
The message sent can be found at misc.suggest-version
in the player's language's messages' file.
Placeholders
The following placeholders may be used in the message:
{suggested_version}
: the suggested version formatted{suggested_version_protocol}
: the suggested version's protocol
Account check
Module info | |
---|---|
Configuration | join-quit-modules.account-check in join-quit-modules.yml |
Manager | AccountCheckManager |
Support | 1.8+ |
Free version | ❌ |
Proxy-configurable | ❌ |
This module performs different checks to find out if a player owns multiple accounts. It compares IP addresses stored in the database using by checking for direct matches and optionally IP lookup techniques. It also takes into account players' time played to provide a reliable result.
Setup
The following snippet of code represents and explains the account check's configuration.
# ...suggested version's settings...
account-check:
enabled: false # whether to enable or disable this module
perform-on-first-join: false # whether a check is performed on first joins
timeout-between-checks-ms: 10 # timeout between checks, in milliseconds
max-time-played: 12h # read below
punish-commands:
'2': # commands executed when 2 accounts are detected
english:
- 'staffchat &f{player} &cowns multiple (&f{amount}&c) accounts: &f{accounts}&c.'
italian:
- 'staffchat &f{player} &cpossiede accounts multipli (&f{amount}&c): &f{accounts}&c.'
'3': # commands executed when 3 or more accounts are detected
english:
- 'tempban {player} 30d Multiple ({amount}) accounts detected: {accounts}. This is an automatic ban. -s'
italian:
- 'tempban {player} 30d Accounts multipli ({amount}) rilevati: {accounts}. Questo è un ban automatico. -s'
ip-lookup: # this feature is experimental - random players may get flagged on big servers
enabled: false # whether to compare IP lookups when checking accounts
max-accuracy-radius-km: 10 # IP lookups' max accuracy radius, in kilometers
anti-ban-evading-system:
enabled: false # whether to automatically ban accounts used to evade bans
commands: # commands performed when an account used to evade a ban is detected
english:
- tempban {player} 30d Ban evading of account {account}. This is an automatic ban. -s
italian:
- tempban {player} 30d Elusione del ban dell'account {account}. Questo è un ban automatico. -s
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
NOTE
This module is disabled by default.
If you want the module to check new players' accounts, specify true
at perform-on-first-join
. It is recommended to enable this option only in the lobby server if running a multi instance setup.
The max-time-played
option sets a player's max time played allowed to be considered reliable for a comparison with another account. Refer to the Getting started/Syntax/Timestamps page to find out the timestamp specifiable. If a player owns two accounts but the time played of one of them exceeds the configured value, it will not be considered an alt account, unless the anti ban evading mode is enabled and the other account is banned.
The IP lookup mode is disabled by default and it is still experimental. It compares every stored IP address with the target player's one:
- ISPs have to match
- geographic coordinates (latitude and longitude) have to match perfectly
- the accuracy radius has to be less than or equal to
max-accuracy-radius-km
- postal codes have to match
- subdivisions have to match
If all 5 conditions are met, it will be considered a multiple account. However, this feature has not been tested on production yet, so it might produce false positives. Be careful when using it, especially if you have configured automatic bans. Please report any problem related to this feature if you are using it on a production server.
Make sure to specify commands for every loaded language.
Anti ban evading system
This module also offers an anti ban evading system that toggles when a new player joins but multiple accounts are detected and at least one of them is banned. In this case the commands specified at anti-ban-evading-system.commands
will be executed instead of the account-check.punish-commands
ones.
Placeholders
The following placeholders may be used at punish-commands
and anti-ban-evading-system.commands
:
{player}
: target player's name{accounts}
: representation of the multiple accounts (example: "[Tirbe, BruhPuntoExe]"){amount}
: multiple accounts' amount, integer
Additionally, the {account}
placeholder may be used at anti-ban-evading-system.commands
: it indicates the name of the account whose ban the player is trying to evade.
/accountcheck
command
The /accountcheck <player> [max time played] [-iplookup]
command allows Staff members to search for a player's multiple accounts:
Its messages are configurable at commands.account-check
in the messages' files.
Refer to the Getting started/Commands/Admin page for more info.
Placeholders
The following placeholders may be used at commands.account-check.message-format
in the messages' files:
{player}
: player's name{player_id}
: player's ID in the storage{ip_address}
: player's last IP address{last_logout}
: player's last logout{time_played}
: player's time played{bans_ids}
: player's bans' IDs (example: "[7, 34]"){banned}
: if the player has been banned; formattable atcommands.account-check.message-format.banned-format
ChatPlugin - Un plugin completo ma leggero che gestisce semplicemente troppe funzionalità!
Questa wiki è attualmente aggiornata alla versione 1.9.10.
© 2024 Remigio07
Si prega di segnalare imprecisioni ed errori di ortografia come descritto a Home/Reporting issues.