Natural Selection 2

Natural Selection 2

Not enough ratings
[Shine] Epsilon
File Size
1.107 MB
Dec 27, 2013 @ 10:12am
Jan 4, 2023 @ 11:06am
214 Change Notes ( view )

Subscribe to download
[Shine] Epsilon

In 2 collections by Ghoul
NS2 popular server mods
12 items
Greenlight mods for Ranked NS2 Servers
28 items

The Epsilon Package ( short: ɛ ) is plug-in package for the Natural Selection 2 mod Shine[]

It is "something" and "almost nothing" at the same time.

It bundles a set of shine plug-ins you might find useful or useless. Decide yourself ;)

The Steam Workshop ID is: c6fbbb0

Latest changes
The latest changes to the mod will be listed on the workshop's change notes page.

  • Download the mod from the workshop (via subscribing to it)
  • Add the Steam Workshop ID to your MapCycle.json under mods field. For more details visit the NS2 Wiki[]
  • Change the map or restart your server
  • Set up your configs

All Settings are stored in the config/shine/plugins folder beside all other shine plug-ins.
Details about each plug-in included in this package can be found at the given project's wiki page (see below).

For details about Shine in general please visit the Shine Wiki[]

Plug-in information:[/b]
These are all the plug-ins that are shipped with Epsilon Package:

Source Code and Issue tracker
Both can be found at the project's Github repo[]. Any kind of issue reports or pull request are welcomed.
Ghoul  [author] Aug 3, 2022 @ 10:47am 
@Rusty Yes it is. Though I never added any documentation for it. It only adds the commands sh_maxbots and sh_enablecombots
|-DMD-| Rusty - grieving Aug 3, 2022 @ 6:07am 
Hi Ghoul, quick question. Is BotManager part of Epsilon? Trying to find documentation for it so our moderators can add / remove bots. Thanks.
Ghoul  [author] Aug 8, 2015 @ 4:25pm 
@Deadwing First please take code talk to github where it belongs or pm me.

That tonumber() is not needed as Playerdata.skill is always a number as tonumber gets applied on it when the value gets fetched in PlayerRanking.lua .

As mentioned at the wiki page users with permission to use sh_ignorestatscheck will be ignored by the check. So if you want admins to be checked you have to exlude the given permission.

Invalid data implies a LuaJIT compilation error.

I hope this answers your questions.
Deadwing Aug 8, 2015 @ 4:15pm 
I changed Hiveteamrestriction Line 185 to:
local Skill = tonumber(Playerdata.skill)

And then I found out that I needed to comment out something more for the mod to kick me from the server.

I think it was "not Shine:IsValidClient( Client ) or Shine:HasAccess( Client, "sh_ignorestatscheck" ) " part that prevented me from getting kicked.

If admins are automatically sh_ignorestatscheck:ed and the server remembers this so removing yourself from the admin-group does not let you try it on yourself.. then mystery solved. Otherwise one of those checks could be at fault.

My copy of the mod now always give "Invalid data" error when activated on the server and I got stuck right when I was about to check which test let me stay on the server... :-(

Since I got the type-error on line 186 only when someone else joined the server, it looks like admin-power...

I didn't think about checking what excactly Playerdata.skill contained. Maybe tonumber() returns 0 for an empty string?

Ghoul  [author] Aug 7, 2015 @ 4:11am 
@Deadwing: Yes that might be true, but if you remove lua from your consistency check everyone can run whatever script they likes while playing at your server.

So you open the flood gate for cheaters.

I would suggest to use the normal development process of ns2 mods (Launchpad etc.) to play around with code and then release it as own mod if you want to use it at your server.
Deadwing Aug 7, 2015 @ 3:59am 
Ahh.. Ok.

I just realized that excluding lua files in ConsistencyConfig.json lets me tinker with the code to try out stuff.. No?
Ghoul  [author] Aug 7, 2015 @ 3:40am 
@Deadwing: All config files are following the json data format. Therefore the config fields can be string, char, numbers, boolean, arrays and objects.

Make sure that the Min and Max are numbers.

Details can be found at
Deadwing Aug 7, 2015 @ 3:29am 
Hi I get

[10:53:14]Error: lua/shine/extensions/hiveteamrestriction/server.lua:186: attempt to compare string with number.
stack traceback:
lua/shine/core/shared/hook.lua:67: in function '__lt'
lua/shine/extensions/hiveteamrestriction/server.lua:186: in function 'CheckValues'

I guess values read from config file are all strings..?
ZERO <ibis> Jul 21, 2015 @ 8:35pm 
It was likely some sort of steam thing not an issue with the mod's code itself. That is why clearing the mod folders resolved the issue.
Ghoul  [author] Jul 21, 2015 @ 9:55am 
@Zero Could not reproduce any of your issues and have no idea how epsilon could cause those.

Non of the code is getting run or load in the menu or loading screen