AdvancedNMotd - Let Your Motd Smile :) icon

AdvancedNMotd - Let Your Motd Smile :) -----

An advanced motd solution for your server.




This update has minor bug fixes.
If everything is working for you with 10.0.0 copy, it is not important to update.

Fixes:
  • AdvancedNMotd start-up problem on linux servers.

Thanks:
  • @Cellular for noticing and reporting the problem :)

If you face any problem, please, let me know about it. As I already said, project was rewritten almost from the beginning, so user reviews are very important to me. Your help is the only way we can have the most stable AdvancedNMotd and I higly appreciated it :)
----------, Aug 11, 2023

Hello everyone! Happy to anounce that after a long break 10.0.0 update is out. This updates adds changes to both spigot and bungeecord servers. Please, note that this is a global update and 9.2.0 configuration IS NOT campatible with 10.0.0 one. However, update to a new configuration should not take long. If you have problems with moving to 10.0.0, you can always contact me and I will help you as fast I can.

What's new:
The most important thing this update offers is addition of format rules, expanding placeholders defenition, implementation of argument and diamond brackets and developing custom java extensions for AdvancedNMotd that can do something you missed in the plugin. Should be mentioned that plugin is almost fully recoded. Whole project structer was completely changed and now plugin is distributed under
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
, text of which can be found inside a jar you downloaded or at plugin github page. You can find plugins source code at github link to which is provided on the main plugin page. Minor changes include plugin command, adding bstats, changing updater.

Let's take a look at each innovation one by one.

  • Format rules:
These are the rules that transform the text before displaying it somehow. They are specified before the text to which they are to be applied and are separated from this text by ':' symbol. Format rules may have arguments. If they do, these arguments are specified in [...] brackets separated from each other with space. Arguments may or may not have values. Let's call arguments that don't have values flags. Arguments let you to modify format rule behaviour. More about argument brackets can be found out below in the section dedicated to them below.

Currently there are 4 built in format rules: global format rule '' (empty), text format rule 'text', format rule 'format', format rule 'calc'. After their description it will be shown the use of them.

Global format rule '':
Returns text the way it gets it without transformation. It is the only rule that has no name. Comes handy when used with diamond brackets or when you store certain string in custom placeholder defined in 'placeholders.yml' file (like your server name) to which can be applied any style you don't know which one ahead.

Example:
Code (Text):
': Hello World'

Format rule 'text':

Converts color codes to colors, replaces placeholders with actual values. It's result is basically what you used to get when used 9.2.0 copy of AdvancedNMotd. More information about placeholders that this rule and the rules that extand it parse will be stated in the paragraph dedicated to them.

Example:
Code (Text):
'text: &aHello %#123456%World!'

Format rule 'format':
Expands format rule 'text' by letting you to manage text alignment. You can specify which part of some text will be shown on the left side, which part on the right side, and which part in the center. If you want to use this rule for symbols other than english or standard special once, you should read text in the spoiler below.
If you want to use language, besides english and/or special characters,
besides standard ones, then it is recommended to create '.yml' file
in 'AdvancedNMotd/languages' folder with lines in the following format:
characterOfYourAlphabet: characterSizeIn|Symbol

Where before ':' goes concrete character of your alphabet
and after ':' goes its size in '|' symbols.

For example, size of letter 'a' in '|' symbols is 5
and size of letter 'i' in '|' symbols is 1.

Otherwise, you may not be satisfied with how format rule aligns text.

By default, AdvancedNMotd consider that every unknown symbol is of size 5.
So you can (and should) only mention characters of size different to 5.

Please note, that since there is no way to center text in minecraft motd,
except with spaces, calculation error can be no less than one space (should
not be more than one space).

Also note, that because of described above, alignment may be broken
when motd is viewed with texture pack other than standard.

If you made your own language file, please, consider sharing it with the
community, by sending it to discussion section at plugin page. By doing
this you agree that I will provide link to the file, you shared, at plugin
main page with mentioning somehow that this is your file.

Example:
Code (Text):
'format: l{left} c{middle} r{right}'

Format rule 'calc':
Used to calculate anything you want. It expands format rule 'text' and thus you can use any of placeholders that returns integer in it. Useful with diamond brackets that let you to perform calculations with dynamic data returned by placeholders (for example, lets you to create placeholder that return online 1 player bigger than current). This rule supports 1 argumet 'returnType' that can take any value of the following:
  • adaptable - returns result as an integer if fractional part is 0 else as double.
  • integer - always discards the fractional part of the number.
  • double - returns result with fractional part even if it is 0.
  • boolean - returns 0 if calculation result equals to 0 else 1
If 'returnType' argument is not specified then default value is 'adaptable'.
+
-
*
/
// (integer devision)
>
<
>=
<=
& (bit and)
| (bit or)
^ (xor)
&& (logical and)
|| (logical or)
% (remainder of the division)
'>>' (bit shift right)
'<<' (bit shift left)
'='
'!=' (not equal)

Example:
Code (Text):
'calc: %online% + 1'
'calc: 2           +7 *(8---    4//((((1)))+ 7)) >> 1' # understands even such weird expressions

  • Placeholders:

AdvancedNMotd 10.0.0 expands placeholders meaning. Now placeholders are standardized and as well can have arguments. Placeholder name is separated from arguments with ':' symbol. Arguments are separated from each other with ',' symbol. If placeholder does not have arguments, then ':' symbol can (and should) be omitted.

Example:
Code (Text):
%online% # placeholder supports 0 arguments, so ':' is omitted
%s: 50% # 50 is an argument that means to place 50 spaces (useful for version motd when create motd to left side of server favicon)
Known to you hex color placeholders now also have name 'color'.

Example:

Code (Text):
%color: #123456%
%color: #123456->#F0F0F0: text; &l; &o%
However, to support compatibility with older AdvancedNMotd this is the only case where placeholder name can be omitted. So the example below is also correct:

Example:
Code (Text):
%#123456%
%#123456->#F0F0F0: text; &l; &o%
%s: X% - display X spaces, If you need to place 1 space, you can ommit argument X, so placeholder will look like %s%. This placeholder is useful for version motd when creating a text to left of server favicon.
%qq% - display double quote in motd.
%q% - display single quote in motd.
(%q% and %qq% placeholders are useful when you want to display both kinds of quotes in one line)

  • Argument Brackets

These are [...] brackets. They are used to customize format rule behaviour. As you could see above, they go right after format rule name if format rule has arguments and can be omitted if format rule does not have them.

Syntax:
Code (Text):
'ruleName[flag1 arg1="hello" arg2="AdvancedNMotd" flag2]: text'
If format rule has argument or flag, but it was not directly specified by user in [...] default value will be applied (see calc format rule above for live example).

You can have more than one [...] which can go one after another or alternate with <...>. Having more than one [...] is useful when you want to separate arguments by some basis or when you want to test new rule configuration: add new flags in another [...], so you can remove it anytime if you are not satisfied with result without thinking later what configuration you had.

  • Diamond Brackets

Mechanism that lets you to write scripts that process a string even if that string is generated dynamically and is the result of a placeholder. This mechanism is plugin side and can be applied for every format rule (even developed by independent developer (about this later)).

Diamond brackets are filled with commands. Each command ends with ';' and has an output. This output can be saved to custom variable if you use '= "_variable_name"'. Variable name needs to start with '_' symbol to avoid possible conflicts with format rule plugin variables. Regardless of whether the result of the command is saved to a custom variable or not, the result of the command execution is saved to the '%this%' variable. Thus, the '%this%' variable always contains the result of the last command.

Diamond brackets support these commands:
  • string "line" - creates a string; if line contains variables known by diamond brakets these variables are replaced with their value. This command can also be used to concatinate two strings like so: 'string "%_var1%%_var2%";'.
  • substring [startIndex, endIndex, "line"] - gets a part of the string from startIndex to endIndex inclusively. Numeration starts from 0. Instead of 'line' can be passed line that consists of string and/or placeholder(s).
  • parse "formatRule[argument brackets]<diamond bracket commands>: text" - applies format rule to certain text. Format rules registered by extensions also can be used in this command.
  • file "path/to/file" - runs diamond brackets script from file. Should be used when there are too many commands in one line or when you want to reuse same code.
  • return "dataToReturn" - command that must be used at the end of each file and at the end of the script. dataToReturn can contain text and/or placeholder(s).
Some of advantages:
Diamond brackets let you to apply as many different format rules developed by different developers to one text as you want (lets say you want one something from one rule and something from another one). You can get part of dynamically generated placeholder (what was impossible in the past) and even modify placeholder output (or part of its output) anyhow you want by adding any text/styles before/after these output. Diamond brackets let you to do some simple things without writing your own AdvancedNMotd java extension. And they let you to slightly modify extensions developed by other developers without permission conflicts, because they don't modify source code of extensions, but modify the output of these extensions when these extensions had already finished processing.

Example:
Code (Text):
'<file "path/to/file/a.txt"; return "%this%";>: I am sad you know!'

File a.txt:
<
    string "%this%" = "_initial_text";
    substring [0, 4, "%_initial_text%"] = "_part1";
    string "%_part1%happy" = "_part1";
    substring [8, 17, "%_initial_text%"] = "_part2";
    return "%_part1%%_part2%";
>

Prints in motd: 'I am happy you know!'

Diamond brackets can be used to describe custom placeholders and custom format rules.

To describe custom placeholder, open file 'AdvancedNMotd/aliases/placeholders.yml'.

Syntax:
placeholderName: 'R[A]<D>: T'
R - format rule
A - argument brackes arguments (can be omitted)
D - diamond brackets commands (can be omitted)
T - any custom text

Usage:
%placeholderName% in format rule 'text' or any that extends it.
Placeholder is replaced with result of execution of what in '...' comes.

Examples:
Code (Text):
# Placeholders from colors.yml file [existed in AdvancedNMotd 9.2.0] must be moved here like this:
brown: 'text: %#A52A2A%'
orange: 'text: %#FFA500%'

# Placeholder that returns online one player bigger than current one:
onlinePlusOne: '<parse "calc: %online% + 1"; return "%this%";>:'

# Here we used global format rule, because we just want to store a string and any kind of style can be applied to this string when this placeholder is used:
serverName: ': ExampleNetwork'

To describe custom format rule, open file 'AdvancedNMotd/aliases/rules.yml'.

Syntax:
ruleName: 'description of rule using diamond brackets'
# description of rule using diamond brackets must start with '<' and end with '>' symbols.

Usage:
'ruleName<possible diamond brackets code>: your custom text'

Example:
Code (Text):
# Creating a rule that centers text.

# The '...' is filled with a description of the formatting rule using diamond brackets.
# Therefore, the string must begin and end with '<' and '>' respectively.
# Once every user specified bracket for rule 'center' is executed the one that represents rule 'center' is.
# This achieves same behaviour as if 'center' format rule was a real (programmed) one.
center: '<parse "format: c{%this%}"; return "%this%";>'

  • Developing extensions for AdvancedNMotd

As it was already mentioned, now you can develop your own extensions for AdvancedNMotd. These extensions can register their own format rules and placeholders. AdvancedNMotd provides an API to develop your own extension. Since description of API requires a lot of text to type and this text is already not small, I will just mention that documentation will be located at this page: https://namerpro.github.io/Advanced...mentation/documentation_article_selector.html. If you are interested in how to develop for AdvancedNMotd, please refer to it. It is currently not fully filled, but it will be as soon as I can. It also worths to mention that format rules are the ones that make it possible to write your own extensions. Now it can be seen that they also play the role of a kind of "namespaces". Each extension has its own so-called "namespace" where it can do whatever it wants without conflicting with another one.

  • Command change

Players cannot execute commands anymore. Commands can be only run from console. Command name changed from 'anm' to 'advancedNMotd'.

  • BStats added

Now AdvancedNMotd uses bstats. If you don't like it you can always turn it off in bstats configuration. However, I would be pleased to see that the plugin is really needed by someone. This keeps me motivated to work on the project. You can read more about bstats here: https://bstats.org/.

  • Updater update

Updater now way less annoying. It can be turened off and plugin now can run offline. You can manage updater settings in 'config.yml' file. If updater is enabled plugin will check for updates on startup and every 24 hours then. Updater will display it is up-to-date no more than once. Updater will notify there is an update available no more than once.
----------, Aug 11, 2023

This update requires ProtocolLib to use AdvancedNMotd on 1.17+ servers.
No dependenses (only optional) needed if you use plugin on 1.8-1.16.x servers.

9.2.0 | The Colorful Update
______________________

Hello everyone!
It's been a while since AdvancedNMotd got an update, so it's time to finally release a newer and a better version of this plugin.
Text below will help you to find out what's changed and how to get all advantages from new features. Most important menu items are selected with red bold text, however it is strongly recommended to read everything on this page.
______________________

What's new:

1)
First of all I fixed an issue, because of which plugin could not create configuration files on some server version. As now you do not need to do any extra steps in this case, I deleted instruction from the main plugin page that told how to solve such an issue.

2) Happy to tell java 16 support was added. This makes it possible to run this plugin with java beeing up to date. As this feature is new, I am always open to help if any problems will appear in your console.

3) This update contains my try to fix long delay when plugin disables, what happened, because of colors downsample feature. I should solve this issue, however, if you still face any problems related to this topic, feel free to contact me via private message.

4) Improved code by changing ways of achieving approporiate results. Now it is better, more optimized and more user friendly.

5) New instant update feature integrated to plugin will bring full new spigot server support in split-second*. Tired of waiting when I finish updating AdvancedNMotd? This time has come to an end. Just download latest ProtocolLib, put it in your plugins folder and start your server. That's it. This means 9.2.0 will automaticall get 1.18 and so on minecraft support when required dependency will be updated what happens really fast. As I wanted this feature to be tested, this update needs ProtocolLib to be installed on your server. I also open a voting page where everyone can rate this feautre (click here to vote now for free). If it will be accepted by 50% of people or more, I will stop releasing fast non-ProtocolLib builds and spend more time adding cool features to the plugin.

6) Strong changes were made to update checking system. Previous code was fully removed and new was written from the begining. This means there are some things you need to know. You cannot just ignore them!

- Starting from this update plugin needs internet connection to work. If you disabled it, AdvancedNMotd will only run if your server online is <6 (5, 4, 3, 2, 1 or 0 playes playing). In every case plugin will send a message to console that will tell what is wrong. If somehow this is uncomfortable for you and do not let you to use AdvancedNMotd, please, contact me via private message and explain why this feature is not good for you, so we can solve this problem.

- If you run a plugin when it was newest, plugin will send you an approporiate message to console, will run and will be activated. You will not receive such a console message more than one time.

- If you run a beta version, plugin will run if your online is <6. Otherwise, it will be deactivated. In both cases plugin will send an approporiate console message and will not be activated. Currently, there is no way to get a legal beta version.

- If version you use is outdated but still supported, plugin will run and will be activated, but a message in console will appear that will tell you to update to a newer version. Remember, that if you do not update plugin for a long time, one day it will be deactivated. How to find out till when your version will be supported? It is better to show an example first:
Imagine you use AdvancedNMotd 9.2.0. When next version will be published (example: 9.2.1, 9.3.0), plugin will send you a warning message, but will work unless 9.4.0 is not release. So, if lateset version is 9.3.9 your 9.2.0 will work, but when I publish 9.4.0 release it will not be supported. Let's write this clear in letters: x.y.z (latest version); x.(y-1).k (supported version); x.(y-2).m (unsupported version). And yes, when 10.0.0 will be out, 9.(latest index).m will be supported, but outdated. I hope I did exmplain it clearly, but you can always ask me if you do not understand something.

- Everytime you reload (or stop and start) your server, your activation resets.

- Plugin will check for updates every 24 hourse after you run it, will disaplay no internet connection messges and beta version messages every time. If your plugin is up to date, you will see such a message only one time. Outdated messages will be displayed every 3 days. Messages after which plugin gets disabled will be obviously displayed one time.

- If your plugin was activated and you did not update it for a long time, so your version became unsopported, plugin will give you extra 7 days to update. During this time you will see warning console messages every day that will tell you to update as fast as it is only possible. If your plugin was not activated, it will not run. After 7 days finish, plugin will not run. Approporiate message will be displayed.

- Download updates only from official plugin page on spigot (this one). Never use different sites to get a copy of AdvancedNMotd. Only here you can get a valid and not virused copy. Protect your server. I will never link to a third party site to update the plugin. I will never give a link that automatically downloads a jar file (example: https://www.spigotmc.org/resources/advancednmotd-let-your-motd-smile.58677/download?version=378063; even this 100% correct link will most likely not be offered by me, but https://www.spigotmc.org/resources/advancednmotd-let-your-motd-smile.58677/ will). Exception: rare cases when circumstances require it.

- In the future it is planned to add an email announcing system, that will send you an online letter when 7 days or less left till copy gets deactivated. This is not promised, but what I will try to do, because as I think it will be comfortable for you to know when to update without looking into console.

- Updater will get latest version of the plugin not after some time as it was in the past, but almost instanlty (within 5-10 minutes).

- As you cannot disable the updater feature, you do not need this lines in config anymore (delete them if you have):
Code (YAML):
#Update System Management
Update
:

    #Should the plugin check for updates:
    Check
: true
In the future these lines may be replaced with these once:
Code (YAML):
#Update System Management
Update
:

      #Should the plugin send an email when 7 days
      #or less left before plugin gets deactivated:
     SendEmail
: false
 
      #If SendEmail field is set to true where to
      #send an email (example: [email protected])
      #Important: you must enter your own real address!
     EmailAdress
: ""
______________________

Well, that's it! If you don't understand something or have any other problems, feel free to contact me via private message.
I hope I did not forget to tell you anything. Please, forgive me any typos I made. It wasn't easy to describe all the introduced functionality in a structured way. I hope I managed to convey my thought to you the way I wanted. I want to thank you for using my plugin! You are the best :)
______________________

Designations:
* : your plugin will start working with new server as soon as ProtocolLib gets updated what usually takes short.
P.s:
1) I believe there will be also 9.3.0 update and then I will start working on 10.0.0. This is not promised, but should be if nothing else happens.
2) This changes only affect spigot server, but not bungeecord once.
----------, Jun 30, 2021

This update fixes some errors related to ProtocolLib.
If you found a new error, please, contact me via private message and not just send me your error, but tell when and after which of your actions it appeared.
----------, Jan 17, 2021

9.1.0 | The Colorful Update
______________________

Hello everyone!
It's 31st of December and I decided to releaze an important update for both spigot and bungeecord. It does not only add new rgb color support for bungeecord servers, but has very important changes that you must know about.
Text below will help you to find out what's new.
______________________

What's new:
1)
As I already mentioned above, now it is also possible to add rgb colors on bungeecord server's motd. You can find out how to do it here: https://www.spigotmc.org/resources/advancednmotd-let-your-motd-smile.58677/update?update=370795.
2)
In previous version of AdvancedNMotd you could see a gray text instead of new 1.16+ rgb colored one when viewed motd from older than 1.16.x clients. This was an obvious result, because older clients simply do not support new color system. However, because of this it was really uncomfortable to use new advantage of the plugin. This is fixed now! Starting from this update for older than 1.16.x clients plugin automatically finds closest legacy color to new rgb one you used in motd and changes a text color to it! No more problems with display. Motd is now colorful on all clients! As the closest color may not always be the best one, there is a possibility for you to give a plugin a task to replace a special rgb color with any legacy one you like! You can do this in Colors.yml file. When replacing gradient text first color of a message is taken. If you want to use this feature with spigot servers you will need to install a ProtocolLib as a dependency. No extra plugins are reqiered to make this feature work for bungeecord.​
Code (YAML):
#Let a player with old client (< 1.16) view
#your motd (requires ProtocolLib to work if you
#have a spigot server)
Replacements
:
    #If a player with a legacy client (< 1.16)
    #views your server's motd change every #CF3476
    #color in it to &5 (if a replacement is not directly
    #written, plugin will automatically find closest
    #color in its opinion).
    "#CF3476" : "&5"
3)
If you install AdvancedNMotd on a server that does not support rgb colors, plugin now will not create special files that are responsible for rgb. Whole configuration is now adapted to for this. If you think your server supports rgb, but plugin does not think so you can force colors support in Strings.yml file. Make sure you know what you are doing and do not forget to reload the whole server (with "reload", but not "anm reload" command) after you made changes.
Code (YAML):
#
#Hex colors placeholder
#
#Your server does not support
#rgb placeholders! Update it to
#1.16+ spigot/paper/tuinity
#or use bungeecord.
#
#If you believe that this is a mistake,
#set value of the field below to true
#and fully reload your server (with server's
#reload command):
forceHexSupport
: false
#Only change the field above if you know
#what you are doing.
#You can find out how to use rgb placeholders here:
#https://www.spigotmc.org/resources/advancednmotd-
#let-your-motd-smile.58677/update?update=370795
#
4)
Support for other than spigot servers to display rgb messages was added (for example, for paper spigot). Remember, that your server must have 1.16+ version.
5)
Optimized code and removed small mistakes. Now plugin is more stable and works a bit better.
6)
Brand new icons for this update were created! To get them simply run AdvancedNMotd with your Icons folder renamed and plugin will generate new one with new images.

How to update:
Just add the text below to your Colors.yml file:
Code (YAML):
#Let a player with old client (< 1.16) view
#your motd (requires ProtocolLib to work if you
#have a spigot server)
Replacements
:
    #If a player with a legacy client (< 1.16)
    #views your server's motd change every #CF3476
    #color in it to &5 (if a replacement is not directly
    #written, plugin will automatically find closest
    #color in its opinion).
    "#CF3476" : "&5"
______________________

Well, that's it! If you don't understand something or have any other problems, feel free to contact me via private message.
I started to write this topic when it was a 31st of December, but now it is already a 1st of January in my country! I would like to congradulate everyone with new year and wish you good luck.
Thank you for using my plugin! You are the best :)
______________________
----------, Dec 31, 2020

9.0.0 | The Colorful Update
[​IMG]
(click to see a full size image)
______________________

Hello everyone!
This is a global update that adds support of 1.16.4 and 'hex' colors to main motd (1.16+ only) for spigot servers.
Text below tells some information about new changes.
______________________

What's new:
Code (YAML):
Changing color:
Placeholder
: %#<color>%
Description
: make a message of any color
Example
: %#C8A2C8% or %#1CA9C9%
But wait... What about if I want to display a gradient message?
It is going to be very uncomfortable to do such a thing with the placeholder above.
This is the reason why I added placeholder below:
Code (YAML):
Adding gradient message:
Placeholder
: %#<from-color>->#<to-color>:<text>;<arg-1>;<arg-2>;...<arg-6>%
(place formatting codes after ; (these are &k,&l,&m,&n,&o,&r )
If you don't want to use formatting codes, don't place them )
Description
: make a gradient message
Example
: %#C8A2C8->#1CA9C9:Gradient!;&l%

IMPORTANT!
Please note that the order of the formatting codes
is not strict, but the result directly depends on it.
To ensure that the outcome text meets your expectations,
arrange the codes in the correct order for you.
And the last new thing is: you can create your own color placeholders.
To make one, open your Colors.yml file located in AdvancedConfiguration folder.
Below you can see how it looks like and an instruction how to add a placeholder:
Code (YAML):
#######################                       #######################
#      _____                                                        #
#     /    /  /\     /                              _   _   _       #
#    /___ /  /  \   / |\_/|  _  ___ |\       \   / |_| | | | |      #
#   /    /  /    \ /  |   | | |  |  | |  -->  \_/.  _|.|_|.|_|      #
#  /    /  /      /   |   | |_|  |  |/                              #
#                                                                   #
#######################      Colors.yml       #######################

#
#Imagine you always forget a code of a color
#you like and always need to look for it somewhere.
#This must be annoying. To prevent this, just
#create a placeholder with its name and mention
#what color should be applied when you use it!
#Like that you can add any color placeholder you want!
#
#Examples:
#1)
#Green_Beige: "#BEBD7F" will create %Green_Beige%
#placeholder which does exactly same thing as %#BEBD7F%
#2)
#Intense_Red_Orange: "#FFB961"
#3)
#exampleColor: "#F0F0F0"
#
#IMPORTANT!
#Custom placeholders CANNOT have
#same names as default ones.
#
#Example:
#maxplayers: "#112233" is a wrong placeholder!
#You cannot use "maxplayers" as a name as there
#is already %maxplayers% placeholder.
#

Placeholders
:
    red
: "#FF0000"
    crimson
: "#DC143C"
    brown
: "#A52A2A"
    orange
: "#FFA500"
    rosybrown
: "#EEB4B4"
    lime
: "#C7EA46"
    leaf
: "#5A945D"
    olive
: "#808000"
    skyblue
: "#35A8E4"
    nightsky
: "#000F2D"
    daysky
: "#4283FF"
    yellow
: "#FFFF00"
    green
: "#008000"
    blue
: "#0000FF"
    darkblue
: "#00008B"
    purple
: "#800080"
And of course you can enable/disable a usage of the file above in config.yml:
Code (YAML):
#Should the plugin use Colors.yml file:
Colors
: true
How to update:
1) Open your config.yml file and add this text in AdvancedNMotd.Configuration:
Code (YAML):
#Should the plugin use Colors.yml file:
Colors
: true
This is how your config.yml file should look now:
Code (YAML):
#######################                       #######################
#      _____                                                        #
#     /    /  /\     /                              _   _   _       #
#    /___ /  /  \   / |\_/|  _  ___ |\       \   / |_| | | | |      #
#   /    /  /    \ /  |   | | |  |  | |  -->  \_/.  _|.|_|.|_|      #
#  /    /  /      /   |   | |_|  |  |/                              #
#                                                                   #
####################         Config.yml          ####################
AdvancedNMotd
:

    #Configuration Options
    Configuration
:

        #What should the plugin use from Strings.yml file:
        Strings
:
 
            #Should the plugin customize default motd:
            Motd
: true
   
            #Should the plugin customize hover over player amount box:
            HoverBox
: true
            #Should the plugin customize player amount text:
            Version
: true
        #Should the plugin use Data.yml file:
        Data
: true
 
        #Should the plugin take icons from the Icons folder:
        Icons
: true
 
        #Should the plugin use Colors.yml file:
        Colors
: true
 
    #Update System Management
    Update
:

        #Should the plugin check for updates:
        Check
: true
 
    #Error Detection System
    Errors
:

        #Should the plugin check for errors in configuration:
        Check
: true
2) Plugin will automatically create Colors.yml file.
3) If you want to get special 9.0.0 AdvancedNMotd icons, rename your Icons folder and plugin will generate new one with new images.
4) Start your server and enjoy updated version :)

______________________

If you don't understand something or have any other problems, feel free to contact me via private message.
Thank you for using my plugin! You are the best :)
______________________
----------, Nov 12, 2020

← Back
_______

Making it so plugin displays % in a gradient message.
Problem:
If you do not know how to use % in a gradient message this instruction is for you.

How to do so:
Divide your gradient message in two parts and put a % symbol with a color you need between them.
Here is an example of what I am talking about:
Code (YAML):
%#C8A2C8->#1CA9C9:We have 50;&l%%#1CA9C9%&l% %#1CA9C9->#F0F0F0:sale in our store!;&l%
The result is below:
[​IMG]
Hope this helps. If you still don't understand something or have any other questions, feel free to contact me via private message.
----------, Aug 12, 2020

8.0.0 | The BungeeCord Update
_______________________________

Hello everyone! Happy to tell, AdvancedNMotd now supports BungeeCord! This update also contains a couple of fixes and improvements in code. Thank you for using my plugin! You are the best :)
_______________________________


What's new:
  • Added BungeeCord support!
  • You can now disable automatic configuration error detection option in config.yml
  • Fixed bugs
  • Better code

How to update:

  1. Replace your old AdvancedNMotd with new 8.0.0 edition jar file.
  2. Before you start your server go to config.yml file and add the following text in the end of it:
    Code (YAML):
    #Error Detection System
    Errors
    :

    #Should the plugin check for errors in configuration:
    Check
    : true
  3. Start your server and enjoy an updated version :)!!!
----------, Jul 2, 2020


← Back
How to update to 7.0.0 from 6.0.0:
  1. Download ANM 7.0.0 (click)
  2. Replace your 6.0.0 jar with 7.0.0
  3. Before starting a server go to config.yml file and change 'Icon' field to 'Icons'.
  4. Start your server and enjoy your updated AdvancedNMotd!
This image may help you:
[​IMG]
----------, Apr 2, 2020

← Back
_______

Making Server Network Icon display real information instead of 'Server Out Of Date' message.
Problem:
If you do not want your server network icon to display 'Server Out Of Date' message and do not like seeing red X over the network icon, this instruction is for you.

Illustration:
[​IMG]
[​IMG]

How to fix that:
  • Open your config.yml file and find Version field.
[​IMG]
  • Set this field to false.
[​IMG]
  • Done! Please, note, that changes in VersionText field, located in Strings.yml file will not be applyed until you return settings you had.
P.S. I hope this instruction will help you. However, if you still don't understand something or have any other problems appeared, feel free to contanct me via private conversation. Have a nice day/night :)
----------, Feb 20, 2020

Commands Update
----------------------
Commands added:
  • /anm reload - reloads plugin configuration
  • /anm help - opens a helpful page.
Bugs fixed:
  • Update checking option is now working again.
----------, Feb 16, 2020

This plugin is only working on 1.15 cores with nms 1_15_R1 (currently these are 1.15 and 1.15.1 servers)
----------, Jan 16, 2020

Only 1.12.x server can run this plugin!
----------, Jan 16, 2020

<- Back

Message For 5.0.1 Versions
for 1.9.4 jar
____________________________________

Hello everyone! I am happy to see you are using my plugin. This time, I would like to mention a fact that I discovered a bug in 5.0.1 jars that throws an error to console with the stock configuration. You can be sure it is the one I am talking about if you this text in console:
[20:13:50] [Server thread/INFO]: AdvancedNMotd is enabled!
[20:13:50] [Server thread/INFO]: Failed to check for an update on spigot.
[20:13:50] [Server thread/INFO]: Contact an author of the plugin for more information.
The bug happens if the ANM cannot get the latest version of the plugin from spigot. To fix this error and keep using ANM without any issues, please, go to plugins/AdvancedNMotd/ and open config.yml file. Then scroll down and set Update field to false.
Here is an image that can help you:
[​IMG]
----------, Aug 11, 2019

<- Back

Message For 5.0.1 Versions
for 1.14.x jars
____________________________________

Hello everyone! I am happy to see you are using my plugin. This time, I would like to mention a fact that I discovered a bug in 5.0.1 jars that throws an error to console with the stock configuration. You can be sure it is the one I am talking about if you this text in console:
[20:13:50] [Server thread/INFO]: AdvancedNMotd is enabled!
[20:13:50] [Server thread/INFO]: Failed to check for an update on spigot.
[20:13:50] [Server thread/INFO]: Contact an author of the plugin for more information.
The bug happens if the ANM cannot get the latest version of the plugin from spigot. To fix this error and keep using ANM without any issues, please, go to plugins/AdvancedNMotd/ and open config.yml file. Then scroll down and set Update field to false.
Here is an image that can help you:
[​IMG]
----------, Jul 20, 2019


This jar is made for 1.8.8 servers, because of your requests. Thanks for using AdvancedNMotd :)
----------, Jul 20, 2019

AdvancedNMotd 5.0.0 Update
(a newer and a better version of NMotd)
_______________________________
Finally 5.0.0 update is out. You do not need ProtocolLib to run this plugin anymore! Supports only minecraft 1.14.x (with nms 1_14_R1 (these are 1.14, 1.14.1, 1.14.2, 1.14.3 and 1.14.4 for now) Thanks for using AdvancedNMotd! You are awesome ;)
----------, Jul 19, 2019

AdvancedNMotd 5.0.0 Update
(a newer and a better version of NMotd)
_______________________________
Finally 5.0.0 update is out. You do not need ProtocolLib to run this plugin anymore! Supports only minecraft 1.14.x (with nms 1_14_R1 (these are 1.14, 1.14.1, 1.14.2, 1.14.3 for now) Thanks for using AdvancedNMotd! You are awesome ;)
----------, Jul 19, 2019

The Huge Config Update!!!

This is the update which fully changes the previous configuration system by adding to it an extra folder with 2 .yml files in it (Settings.yml and MotdText.yml). There is also an update checker added now (easier to track updates) and changed plugin description in plugin.yml! Now FakeOnlinePlayer option adds extra players to the server (in the previous versions it just changed the online to a fixed number). Added a player weight, using which one player might be counted as any amount of players (like 2, 5, 10, 100 etc.). Added an online is bigger then FakeMaxPlayers protection. In previous versions you might have had something like this online: 150 / 140 (you can disable this protection if you don't need it in Settings.yml) Code became cleaner (made it easier to read) and configuration files are easier to understand now!​
----------, Aug 28, 2018

3.0.0 UPDATE!!!

Some information:
Due to I'd added many cool things into NMotd in 3.0.0 update, I decided to skip 2.0.0 release and fix reload bug in 4.0.0 update.

[​IMG]


What's new:
[+] Left motd added!
[+] Added option to enable / disable each option.
[+] Main motd was recoded.
[+] Custom text instead of version added!
[+] Fake online players amount added!
[+] Fake slots amount recoded!
[+] {ADRESS} variable was removed!
[+] {VERSION} variable was added!
[+] Variables are now supported everywhere in plugin's configuration!
----------, Jul 15, 2018

Hover motd was added! (2.0.0.Beta1 update)

[​IMG]

___________________

Because it's a beta version every time after you change HoverText in HoverMotd stop your server and then run it. DO NOT RESTART!
___________________
This update requires ProtocolLib to be installed on your server!
----------, Jul 13, 2018

________________________________
Changed title in config.yml!

‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
----------, Jul 12, 2018

Resource Information
Author:
----------
Total Downloads: 102,267
First Release: Jul 12, 2018
Last Update: Aug 11, 2023
Category: ---------------
All-Time Rating:
187 ratings
Find more info at namerpro.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings