LESM Features

From MyGamingTalk

(Work in progress)

Config

There are many features so to start off there is a Config.json that you can use to configure all features in the lua. Between this Config.json and Commands.json you can(should be able to, if I forgot an option please notify me) disable all features. Many of the features have several options to them as well, which I may not have included in feature list.

Commands

There are over 75 commands to use. Each command can be disabled or set a required level to use.

Profiles

A profile system where the client can set keys to decide what features he wants and where certain messages print to. Also their are stat tracking keys he can view his own or other players with profiles (offline or online). There are keys to define info about the player such as xfire, realname , age. Depending on server options xp can be saved to the profile so you do not need to worry about etkey/silentid, you would just need your password. Admins can force registration, allow autoprofile creation, or disable profiles altogether (By disabling the commands). By default profiles will automatically be logged into when you connect to the server, if you have other people on your network/computer you can turn this off to only login on your specific guid/silentid or only on your ip, or not at all(In which case you will have to manually log in every time you connect to the server.)

Regular User Data

Admin info to be saved to a client that is applied at all times. Such as warnings/ignoredplayers/xp/mutetime.

Mail

Send offline mail messages to other profiles, also any automatic admin action( if enabled ) will be reported to an admin-mail where only admins can see. The report command will also notify admin-mail. Example: /report Joe was being very rude. Will report the client who reported and at what time you can then go back in your logs to that timestamp and find out what happen.

Non-Shrubbot

There is a small admin system that can be used for non-shrubbot servers, such as levels( As many as you want ), xpsave, and many of the basic commands: admintest finger warn mute blacklist(Which is basically kick/ban)

AutoLevel

You can define an automatic level range. You choose the beginning level and the ending level and then you choose a basexp and a xp modifier. It will then level the first level when basexp is reached and from then on it will take last level xp (First one would be basexp) times xpmodifier. Example: Level 1: 500 , Level 2: 750 , Level 3: 1125 , Level 4: 1687 etc...

Server Enhancements

Setlevel

Setlevel can be configured to only allow setting a level when you are at least 2 levels above the player.

Ignore

You can permanently ignore a player. Also if you wish to still see their chats but do not want to hear the sounds they play you can ignore their sounds. Or you can just ignore lua sounds altogether. (Vsays currently can't be ignored at the moment unless you ignore the player altogether, will look more into it)

Mute

Mute now has an option to strictmute which will mute them permanently until unmuted, as well as block them from doing commands, changing name , calling votes , and sending privatemessages. Basically it only allows them to play.

Warn

A new warn system can be used which is basically the same as silent's but instead of using silent mod kick it will use whatever option the server administrator has set when max warns is reached. This is useful because when lua warns it sends it to admin-mail when and why it warned the player.

Blacklist

Blacklist is my replacement for kick/ban once again when a kick/ban is done it will automatically get reported to admin-mail. You can also add notes on the ban and edit time in game. (see blacklist command for more details)

Intermission

To help people to start voting during intermission the server can display when someone is ready and when someone votes a map.(It can also display only when they do both) It can block players from voting if they are muted, or if they are spectator, or if they are not logged in.

AdminWatch

Admins with the authorized status can enable a adminwatch to constantly have a live feed to events on the server, such as who called a vote, what command was silently done, team and buddy chat, as well as private messages.

SpawnWalkThrough

Walk through your teammates when you spawn to avoid blocking.

DamagePrint

Print each damage dealt and received by who and with what weapon. Currently limited to only silent and legacy mod. Silent mod can only output damage received and will not who has dealt it. (Has to be enabled server and client side)

PauseStart

A lot of people didn't understand why I had this on my server so I will try and explain it After warm-up ends the game loads everything and starts the match On the server end this is almost instant, and is usually why the bots are already a good 20 feet out of spawn already when the game starts On the clients end this takes about 1-3 seconds(Depending on your computers ability) Where you get that yellow bar and are holding W to try to be the first out of spawn If I send the command pause and unpause right at the beginning this allows everyone to start the game at the exact same time(When the pause unpauses) There is only one side effect really and that is that I cannot pause for less than 10 seconds So there is inadvertently about 5-7 seconds of waiting for nothing, but I think it is worth it. And would be super helpful in scrims. I have added a freezestart option where it freezes players for a certain amount of seconds instead. This coupled with spawnwalkthrough make the startup much more fair.

PingMonitor

Take admin actions on players with constant high ping. Block team command and put spectator. Kick them. Warn them.

DownloadingSpec

Put clients to spec x seconds after warmup if they are still downloading or lagged out.

Balance

Automatically balance teams when they are off. Also can take admin action against them, or just block their team command and force them to a team. Currently this only checks when a player moves to a stacked team, am working on making it more automated as well as an accurate rating balancer.

Connect

Print info of client on connect. Level,Name,Username,Country,ET Version,Protocol. Profiles also have a key to print a greeting message and play a greeting sound, same applies to disconnect. (if enabled)

DeathDistancePrint

Print death distance and hp and by whom and with what weapon. Profiles have the option to enable a metric distance instead of feet and inches. (Configurable)

Names

Automatically rename certain names to a randomly generated name.

ClanTag

Take admin action against clients that do not have level and are using your clantag.

Sounds

Events

All sound paths can be changed in the config. There are sounds for certain events: Error - for when a command fails or is stopped Command - for when a command succeeds Adminwatch - for when you receive an adminwatch message Autolevel - for when a client levels up via autolevel Welcome - for when you use the welcome command Connect - for when a client connects (Is replaced by user key greetingsound if exists) Disconnect - for when a client disconnects(Is replaced by user key farewellsound if exists) Blacklist - for when a client is blacklists (Plays to authorized or leaders) Login - for when you login Logout - for when you logout Register - for when you register Salute - for when a client uses salute command KillConfirm - for when you get a kill Really simple, but I like it a lot NewMail - for when you get a new mail message Afk - for when a client goes away Hello for when a client uses hi command, I just use the hello chat in pak0 Bye - for when a client uses the bye command PrivateMessage - for when you receive a private message

Playsounds

Sounds for playsound command and greeting/farewells. You can then have an optional soundpack, or a soundpack with a bunch of sounds. Edit the title/message/tags/level to use all in game.

Rules

A rule list to be easily viewed by your players. Can also globally display a rule on command.

Banners

Banners work the same as rules however you can have them printed every x seconds, and also you can have the rules added to the banner rotation.

Colors

The lua follows a pretty simple 3 color rule: Primary color for most text, Secondary color for important text, Tertiary color for symbols/borders and sometimes to highlight information. You can also change the colors for command types.

EntityManager

The entity manager was at first created to play around with entities and I soon realized the strong potential, it can now be used to inspect your map if you are a map developer, play around with certain fieldnames etc. (I don't know as much about it as I should)

AntiRush

Entities can be removed at a certain time percentage completed or when a certain amount of players are active. It can also be reversed so they are removed until a certain amount of time is completed or a certain amount of players is reached (The more likely usage). So you can disable objectives until a certain amount of time has passed. Or disable side path's until a certain amount of players are playing. I have recently added the ability to display a message when the objective is removed, when it is readded, and when a player gets close to the removed objective. Also you can limit the messages to x class and within x distance and isCarryingObjective(for when transmitter is disabled) and on x team.

MessageFilter

There is a grammar/spellcheck(Replaces commonly misspelled words with corrected spelling/punctuation) and nocaps(Makes first word capitalized and last word end with punctuation) and nocolors(removes color codes) and swearfilter(Replaces swear words with random words). All of which can be toggled in your profile, also they can be forced upon you by server setting or an admin. (If for example someone is typing in caps a lot, you can use !nocaps player)

Colors

<color1> is replaced by the primary color code <color2> secondary color <color3> tertiary color.

NameMention

You can "mention" people by typing @zelly will get their full name with color codes. Also you can do @last for the last player connected

EventMention

Kind of expieremental as it has been a little bit glitchy when it comes to vsays. There are event mentions like: <killer> <victim> <guid> <ip> <lastrevive> <lastheal> <lastammo> Disclaimer: These may be wrong, jotting down from memory.

Format

You can change the look of tables, and general messages in the config.

Karma

Give and receive karma(Imaginary useless points). You can give karma to someone that has done something good and take karma from someone who has done something bad. There are 4 values of karma: GoodKarma GoodKarmaOut BadKarma BadKarmaOut. When you give someone a karma you get 1 GoodKarmaOut and they get 1 GoodKarma. When you take karma you get one BadKarmaOut and they get one BadKarma. (Pointless I know, I was bored.)

DynamiteCounter

Configurable dynamite counter.

ClassHealth

Experimental changing of class maxhealth and class regen per second.

Maplist

Use !maps command to get the current rotation and a pool of maps to vote from. (Admin can do !map mapname to load that map)