Raised This Month: $ Target: $400
 0% 

[ANY] Server Redirect - A full featured server listing/hoper (v0.2.6, 24/01/2016)


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author
h3bus
AlliedModders Donor
Join Date: Nov 2013
Plugin ID:
4492
Plugin Version:
0.2.6
Plugin Category:
General Purpose
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
    37 
    Plugin Description:
    Servers listing with live details. Server advertising. Server redirection with modded hreserve slots.
    Old 01-18-2015 , 14:01   [ANY] Server Redirect - A full featured server listing/hoper (v0.2.6, 24/01/2016)
    Reply With Quote #1

    Server Redirect:
    This plugin is a server advertisment system. It allows players to list all your servers with detailed informations by hitting !servers (or !list, !hop) in chat.
    It supports periodic advertising of servers and !follow command to follow a player that just switched servers.
    All displayed informations are live data and include server name, current map, current players and player list.
    It is compatible with a modded version of H-Reserved (https://forums.alliedmods.net/showthread.php?p=541827) to redirect players to your server list instead of kicking them.

    Do you like my work?
    If you want to reward me for my work, or the help I can provide on this thread, feel free to make a donation

    Also don't forget to thank BuSheeZy for his work on the steam bot!

    Plugin features:
    • Servers listing with !servers, !list, !hop commands
    • Live server information from A2S queries
    • Redirect to server list when freeing reserved slot (Modded H-Reserved version)
    • Information cache in mySQL (configurable queries cool-down)
    • Automatic mySQL table creation
    • Automatic mySQL server registering
    • Server grouping
    • Periodic servers advertising
    • Configurable password exposition
    • Modular connect drop:
      • On chat with a steam://connect/ link
      • In console
      • With a Connect Box (if supported by the mod)
      • Through a steam bot invitation
      • On TF2, with redirect command
    • Uses an internal paginated panels API for menus readability
    • Player redirect instead of kick on slot reservation (using a modded H-Reserved plugin)
    • Automatic table cleanup
    • Translations support
    • Updater support
    • Threaded Network/mySQL queries for server responsiveness

    Requirements

    How to install?
    1. Setup a mySQL table, and grant a user all privilege on it
    2. Edit <soucemod>/configs/databases.cfg and add a database configuration named redirect; fill in formations with the table/user/password setup in 1.
    3. Unzip redirect.zip file into your sourcemod directory.
    4. Choose which module you want and enable/disable them (see Modules)
    5. Load the plugin (by sm plugins load or changing level or restarting the server) and join the server to ensure that plugin is started
    6. Edit the config file related to your server instance (see Configuration files)


    Configuration files:
    The plugin automatically generates one configuration file per server instance.
    The configuration files are located in <mod>/cfg/redirect/
    Each file name is the server IP and port where all dots/colon have been replaced by the underline char, like this:
    <mod>/cfg/redirect/92_75_125_63_27015.cfg

    Why this? Because lot of people run several server instances in the same install folder, and the majority of the plugin Cvar depend of the server instance.
    For example redirect_server_short_hostname should be different for each server.

    One good thing to do is start each server with the plugin activated, then go into the cfg/redirect/ folder to edit the server specific cvars:
    • redirect_register_server => if set to 0 server will be removed from DB and won't be seen by others. Note that you should use server groups if you want to hide the server, more than not registering it
    • redirect_server_order => Set this to define a server display order. That same order is used for periodic advertisement
    • redirect_server_short_hostname => Use this to set a short hostname. If not set, the plugin use the server hostname, but these are often too long and hardly readable
    • redirect_autocleanup_db => If you want to cleanup the database automatically (remove unreachable servers and cleanup users that switched servers), this has to be activated in only one server instance (to reduce mySQL load)
    • And groups Cvars (see below)


    Server groups:
    The plugin supports advanced server grouping, for example you can setup a public group, and a private group where password is exposed for fast server switch of community members. You can also group by game type, and create gateways between groups.

    The first thing to know is that each mod forms a macro group, and it is not possible to list/advertise server from other macro groups. This means that you can use the same database for TF2/CSS/CSGO servers, and on the CSGO server you will never see TF2/CSS servers.

    Groups are defined with the following cvars:
    Spoiler


    Each group is defined by a char that can be anything. Default group is A.
    Using the default Cvar settings
    • all servers are in group A (redirect_my_groups=A),
    • they are all visible in group A (redirect_show_in_groups=A)
    • no server password is exposed (redirect_expose_pw_for_groups is empty)
    • all servers are advertised in group A (redirect_advertise_in_groups=A)
    Each of there Cvar can old an indefinite number of char and you can define as many groups as you can.


    Modules:
    There are currently 5 modules that can be enabled or disabled depending on how you wish to give the connection information to the player:
    • redirect_askconnect_chat.smx => Gives the connect information in chat with a steam link that is intended to be copy/pasted into the steam browser
    • redirect_askconnect_console.smx => Gives the connect information in the console and indicates in chat that infos are available in the console
    • redirect_askconnect_connectbox.smx => Ask client to connect through a connect Box (F3 bind to accept by default). This feature has been disabled by valve on many games but this is the cleanest way, check if it works
    • redirect_askconnect_steambot.smx => Gives the steam connect link in a steam chat. Players can click on it to connect. This requires to setup steambot first
    • redirect_askconnect_tf2_redirect.smx => On TF2 only, use the "redirect" command
    By default chat and console modules are enabled. You can disable them by moving them to plugins/disabled.
    Whereas connectbox and steambot modules are disabled by default (in plugins/disabled folder). Move them to plugins folder to enable them.



    Optional - Installing the Steam bot:
    See this post from BuSheeZy


    Optional - Slot reservation (H-reserved Slots):
    This plugin is available with a modded version of H-Reserved (advanced reserved slot) https://forums.alliedmods.net/showthread.php?p=541827
    The modded version is attached to this post.
    When H-Reserved drops a player, instead of kicking him, the modded version locks him to spectator team and displays the !servers list to switch him to a non-full server.
    To enable this behavior the following H-Reserved settings are mandatory:
    • sm_hreserved_drop_method shall be set to 2
    • sm_hreserved_redirect_target shall be empty (set to "")
    Other Cvar are described in H-Reserve thread.
    I just changed sm_hreserved_redirect_timer to 30 seconds by default to give time to choose a server.




    Cvars:
    Spoiler



    Commands:
    Clients:
    sm_servers or !servers
    sm_list or !list
    sm_hop or !hop
    -> Display server list

    sm_follow or !follow
    -> Follow previously transferred players

    Server
    redirect_lockout <userId> "<Reason>"
    -
    Locks a player out of game and display server list
    - This is used by the modded hreserve_slots plugin to transfer a player upon reserved slot

    redirect_notify_confirm "<steamId>" "<name>" <players> <bots> <maxplayers> "<map>" "<hostname>"
    - Used internally between server to advertise "!follow" when a player has switched server



    TODO:
    - Add a lockout mode for server migration
    - Add a server info proxy (internal rework)


    Changelog:

    Spoiler
    Attached Files
    File Type: sp Get Plugin or Get Source (hreserved_slots_redirect.sp - 3964 views - 24.6 KB)
    File Type: zip Redirect.zip (92.1 KB, 4505 views)

    Last edited by h3bus; 04-07-2017 at 09:20.
    h3bus is offline
     



    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 23:59.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode