Thanks man!
On testing I think it is actually more to do with the ulx.concommand function.
I made a quick copy of the command named ulxgban done with the internal concommand.Add() function:
ulx.concommand( "gban", cc_gban, "<user(s)> [<time>] [<comment>] - Globally bans a user, time is in minutes. 0 or blank for perma.", ULib.ACCESS_SUPERADMIN, "!gban", _, ulx.ID_PLAYER_HELP )
concommand.Add( "ulxgban" , cc_gban )
The result:
] ulx gban sub
Invalid command entered. If you need help, please type "ulx help" in your console.
] ulxgban sub
Global ban successful
|IC| Sub-Zero global banned |IC| Sub-Zero<STEAM_0:1:2220981> for time 0 ()
Disconnect: Kicked by Console : Banned on global ban list.
So the code is loading but commands are not working.
Any ideas?
EDIT:
I compared the function from ULX r80 to ULX r38 [The version our servers currently run].
I could only spot one difference on the first line of the function in r80 is this additional line:
ULX r80:
function ulx.concommand( command, fn_call, help, access, say_cmd, hide_say, autocomplete_type, autocomplete_fn, nospace )
if true then return end
access = access or ULib.ACCESS_ALL
ULX r38:
function ulx.concommand( command, fn_call, help, access, say_cmd, hide_say, autocomplete_type, autocomplete_fn, nospace )
access = access or ULib.ACCESS_ALL
Commenting that line out led to an error on line 70 where it adds the command to the table for the help command text.
Commenting THAT line out led to this: Warning! Called deprecated function ULib.add_subconcommand. Use the functions under ULib.cmds.* now
I sure wish that error came up MUCH earlier!