Natural Selection 2

Natural Selection 2

Not enough ratings
[Shine] Epsilon
Modification: Tool
Compatibility: Must Be Run On Server
File Size
0.841 MB
Dec 27, 2013 @ 10:12am
Feb 26 @ 6:38am
168 Change Notes ( view )

Subscribe to download
[Shine] Epsilon

In 1 collection by Ghoul
NS2 popular server mods
12 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:
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 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
ZERO <ibis> Jul 21, 2015 @ 6:20am 
Got it working after deleting mods from the server, workshop updator and my local computer.
ZERO <ibis> Jul 21, 2015 @ 6:07am 
It appears the latest update to this mod messes something up, I am having trouble accessing servers that run the mod and I am in the process now of cleaning all mod directories to see if a fresh install helps the issue.