Skip to content

AdminMod v2.50.61-beta6 (Win32/Linux)

Latest
Compare
Choose a tag to compare
@APGRoboCop APGRoboCop released this 19 Feb 18:32
· 6 commits to master since this release

Changelog 2.50.61-beta6 - 19-Feb-2021:-

This kit also includes Metamod 1.21.1-am and LogD 1.0.0.7.

Note: The newer Linux 2.50.61 build WON'T work on pre-2013 compiled HL1 GameMods
but the older 2.50.60 admin_mm_i386.so legacy build is included.

Updated by Sir Drinks A Lot, Black Knight, Cavey, alexavil and RoboCop

Before you report on any bugs, first here are the known bugs followed by the actual changelog.

KNOWN BUGS:

  • plugin_cs appears to fail on restricting the Tactical Shield and the the Weapon Restrictions don't work for CZero nor CS 1.6
  • Using the 'admin_MM_i386.so' Linux 2.50.60 legacy version won't work for using Slay commands nor with the new LogD 1.0.0.7
  • plugin_vote appears to automatically aborts vote after vote is counted
  • plugin_blatt_map appears to not register the votes for CZero or CS 1.6 on some occasions
  • Cavey TK Menu for kick and ban option may need some fixes
  • plugin_dod for respawn_time doesn't work on Steam's DoD 1.3
  • Metamod v1.21-p37 Linux build appears to work best for this AdminMod package on CS 1.6
  • Typing "admin_help" in TFC appears to have a "tfc_adminpwd" issue.

COMPILER:

  • sc:
  • Small compilers now recompiled by GCC 4.8 for Linux
  • Fixed the 'assert((sym->usage & (uDEFINE | uREAD))!=0);' for 3rd Party plugins from sc3.c src file along with newer includes
  • Dropped AMD64 support for allowing Small Compiler to prevent .amx64 plugins produced

ENGINE:

  • adminmod_mm.dll/so:
  • Build recompiled and enhanced for newer Gamemods and SteamPipe
  • Both Linux and Win32 builds are recompiled using those compilers and SDKs
    • Visual Studio 2019 for Win32
    • GCC/G++ 8.3 for Linux
    • HLSDK 2.3p4
    • Metamod-P-37 SDK
  • Both MySQL, PostgreSQL and Linux AMD64 support dropped
  • Both Linux and Win32 builds are optimised for Pentium 4 SSE2
  • Fixed apsymbols.h for newer glibc
  • Fixed the '~CPlugin::' extra qualification error from CPlugin.h
  • All 1st/2nd Party HL1 Mods for Linux Servers no longer use *_i386 suffix binary names
  • Fixed Command "Kill" thanks to Warhead! http://www.adminmod.de/viewtopic.php?p=63974#p63974
  • Fixed the UTIL_ClientPrintAll bug where the older script was commented out until Valve fixed the bot problem.
  • All builds for AdminMod, AScript AMX and LogD have been optimised and has reduced approximately 52% of its original size
  • Reduced redundant codes
  • Using newer C++14 Standards

INCLUDES:

  • adminlib.inc:
  • added close_menu(UserIndex) //plugin_exec to all plugins which registercmd "close_menu"
  • added open_menu(UserIndex) //sets vaultnum menu_UserIndex 1
  • added reset_menu(UserIndex) //sets vaultnum menu_UserIndex 0
  • added check_menu_open(UserIndex) // checks for vaultnum menu_UserIndex.
  • added convert_string_all(HLCommand,HLData,HLUserName,Command[],Data[],User[])
  • added get_access(UserIndex)
  • added isip(IP[])
  • added issteamid(SteamID[])
  • added log_to_file(UserIndex,Command[],Data[],File[])
  • added numtoword(iNum,str[],iLength) and do_numtoword(iNum,str[],iLevel,iLength)
  • added sound_get_key(Player[])
  • added sound_set_key(Player[])
  • added sound_to_all(Data[],iTeam=0);
  • added strstrip(str[],chars)
  • added strsplitx(str[],separator,escape,...)
  • added strfilter(str[],allow[])
  • changed code of strbreak using strgsep
  • math.inc: (will be checked/revised by Felix. I hope soon...)
  • added:
  • abs(num)
  • pow(num,exp)
  • sumvec(vec1[3],vec2[3],vec0[3])
  • midvec(vec1[3],vec2[3],vec0[3])
  • diffvec(vec1[3],vec2[3],vec0[3])
  • veclen(vec[3],factor=1)
  • distance(Index1,Index2)
  • veccmp(vec1[3],vec2[3],accuracy=0)
  • vecncmp(vec[3],num)
  • vecstrcmp(vec[3],str[],accuracy=0)

PLUGINS:

(in order of plugins which must be in plugin.ini, too!)

  • plugin_adminlog:
  • file_access_write 1 must be set in adminmod.cfg
  • plugin can be activated/deactivated by command: admin_log <on/off>:
  • creates 5 different log files in addons/adminmod/config:
    • log_say.txt: logs all say messages
    • log_retribution.txt: logs retribution commands like:
      "slap","slay","kick","bury","unbury","gag","ungag",
      "llama","unllama","slayteam","ct","t","vote_kick","execclient",
      "execall","execteam","restrict","unrestrict"
    • log_admin.txt: logs all admin commands with accesslevel > 0
    • log_banned.txt: logs all data which comes from admin_ban, admin_banip, admin_unban
    • log_antiflood.txt: logs all data which comes from plugin_antiflood
  • other plugins can use log_to_file(UserIndex,Command[],Data[],File[]) (adminlib.inc) to send data which
    shall be logged.
  • plugin_adminmenu:
  • amv_enable_beta "menu1"

  • file_access_read 1

  • file_access_write 1

  • commands which shall be executed must be set in addons/adminmod/config/ammenu

    • mapcommands.cfg
    • othercommands.cfg
    • playercommands.cfg
    • servercommands.cfg
    • votecommands.cfg
      In these cfg files, admin_commands of all plugins can be added.
  • In addons/adminmod/config/ammenu/map.cfg all maps must be added which shall be used by mapcommands.

  • Every admin can create his own menu which is stored by STEAM_ID_x_x_xxxxx in addons/adminmod/config/ammenu

  • Admins with ACCESS_RCON can add/edit or delete commands over this menu directly

  • Last executed command is stored and can be easily executed again in mainmenu.

  • Structure of menu:

    • PLAYER
      • Playercommands (of playercommands.cfg)
        • Player (available on server)
          -Executemenu
    • MAP
      • Mapcommands (of mapcommands.cfg)
        • Map (of maps.cfg)
          -Executemenu
    • SERVER
      • Servercommands (of servercommands.cfg)
        -Executemenu
    • VOTE
      • Votecommands (of votecommands.cfg)
        -Executemenu
    • OTHER
      • Othercommands (of othercommands.cfg)
        -Executemenu
    • OWN COMMANDS
      • Stored commands (of STEAM_x_x_xxxxx.cfg)
        -Executemenu
    • LAST COMMAND
      • Last used command
        -Executemenu
  • In Executemenu, admin can decide if he executes command, adds some parameters in chat, adds this command with data
    to his OWN MENU or (if admin has ACCESS_RCON) he can delete this command in .cfg file

  • This menu plugin sends to all other plugins close_menu(UserIndex) if HL integrated menues are opened
    by user. All other plugins, where the adminmod menu function is used, can use
    plugin_registercmd("close_menu",Function_in_plugin,ACCESS_ALL) in plugin_init() to get this information and can react on it.
    So it is not neccessary anymore, to declare all HL-integrated menues functions in each plugin.(like buy, buyequip, radio1, etc.)
    The plugins itself can also send a close_menu(UserIndex) when their own menu gets called.
    close_menu(UserIndex) is set in adminlib.inc and sends the sUserIndex as Data with plugin_exec
    to registered function "close_menu".

  • plugin_antiflood:
  • added plugin_info protecting flood of changing nickname
  • changed Command[] to MAX_DATA_LENGTH in plugin_command function
  • added function log_to_file in log_antiflood.log (needs plugin_log)
  • plugin_base:
  • added helper function convert_string_all
  • added helper function execute_cmd
  • added reason to admin_ban. admin_ban <[minutes]> <[reason]>
  • added in admin_ban and admin_unban: function log_in_file(UserIndex,Command,Data,"addons/adminmod/config/log_banned.txt"),
    if a player is successfully banned.
  • added new function admin_timeban (bans player for 30 minutes)
  • added new function admin_map_exec to change methode of changing map (changelevel or exec(changelevel...))
  • added default_map.cfg in plugin_init which is loaded before map.cfg
  • changed accesslevel of admin_userlist to ACCESS_TIMELIMIT (=2)
  • changed admin_map to check map with valid_mapex
  • moved exec commands from plugin_retribution to plugin_base
  • moved all say commands to plugin_message
  • moved all vote commands to plugin_vote
  • plugin_cheat:
  • added helper function convert_string_all
  • plugin_fun:
  • added helper function convert_string_all
  • added more glow colors and a 'glow help' say command for list
  • plugin_message:
  • added helper function convert_string_all
  • moved all say commands of plugin_base to plugin_message
  • different messages can be set up in addons/adminmod/config/admin_motd.txt, which are displayed
    randomly in admin_repeat_freq. If admin_motd.txt does not exist or is empty, admin_repeat_msg
    is used.
  • added function admin_set_timeleft to enable/disable say "timeleft"
  • added function admin_set_nextmap to enable/disable say "nextmap"
  • changed accesslevel of admin_messagemode to ACCESS_CHAT
  • plugin_retribution:
  • added helper function convert_string_all
  • put all execclient to plugin base
  • changed code (removed native censor_words()) of handle_say to avoid amx10 error till fixed in .dll/.so
  • plugin_sound:(optional)
  • all players can say ".stop" / ".stopsound" or ".play" / ".playsound". This option sets a setinfo "am_sound" "1" or "0"
    in config.cfg. This can be used by other plugins to give player an option if he wants to hear customsounds
    or he doesn't want to.
  • menu message is displayed when player enters server, that he has enabled/disabled customsounds and how to change it.
  • 3 commands available: admin_speak, admin_speakall, admin_speakteam
  • plugin_vote:
  • all vote commands moved from plugin_base to plugin_vote
  • added admin_vote_maps (starting a multi-map-vote)
    • amv_enable_beta "menu1"
    • file_access_read 1
    • map names are loaded from addons/adminmod/config/map_vote.ini and are displayed in menu
    • players can open menu using "votemaps" in chat to make their vote or to change their vote
    • after x seconds, winning result appears. (x is set by admin_vote_time. Default: 30s)
  • added admin_vote_time : set vote time. Default 30s
  • added admin_vote_read (ACCESS_CONFIG) to load another mapfile then map_vote.ini

// MOD SPECIFIC PLUGINS

  • plugin_CS:
  • added helper function convert_string_all
  • added in admin_restart / restartround
  • added a strtrim "." at the end of Data in function SetRestrictions, which is loaded from a map.cfg
  • added strstripqoutes to admin_ct, admin_t
  • added plugin_registercmd("close_menu","ClearMenu",ACCESS_ALL);
  • changed admin_restrict player to use " not ', if playername has spaces.
  • changed function SetRestrictions: delete map and delete default should work now
  • changed admin_ct/admin_t "chooseteam" to jointeam 1 / jointeam 2
  • plugin_TFC:
  • added convert_string_all(HLCommand,HLData,HLUserName,Command,Data,User)
  • added admin Dispenser and Sentry unblocker from plugin_unblock

//MAP VOTE PLUGINS using admin_vote_autostart

  • plugin_hldsld_mapvote:
  • replaced trim code for denymap with strtrim
  • plugin_menu_mapvote:
  • same commands like in plugin_hldsld_mapvote but:
    • players make !nominations! for max. 8 maps in chat by saying "de_dust" or "extend" and after nomination time,
      nominated maps are displayed in menu to vote for.
    • say 'mapname' or 'extend' to make nomination
    • say 'showmaps' to open menu (again) to make a vote/change your vote
    • nomination time is set to 90 seconds
    • hint message, that nomination has begun appears every 30 seconds
    • every player can make more than one map nomination
    • time for menu vote is set to 30 seconds.