AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Plugins (https://forums.alliedmods.net/forumdisplay.php?f=108)
-   -   [ANY] Server Redirect - A full featured server listing/hoper (v0.2.6, 24/01/2016) (https://forums.alliedmods.net/showthread.php?t=255675)

h3bus 01-18-2015 14:01

[ANY] Server Redirect - A full featured server listing/hoper (v0.2.6, 24/01/2016)
 
2 Attachment(s)
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
https://www.paypalobjects.com/en_US/...onateCC_LG.gif
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

Maxximou5 01-18-2015 20:26

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Wow.

You really outdid yourself here, great job and effort.
I'll give this a try out and report back.

Here's some bacon. :bacon!:

h3bus 01-19-2015 04:00

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Also, I forgot to say this can be tested on my CSGO servers @ h3bus.fr port 27015 to 27019.

Nolongerinthegame 01-19-2015 08:08

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Hey I thought the redirect and jumping servers did not work in csgo, did you manage to get it working?

h3bus 01-19-2015 08:23

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
The Connect Box don't work, but there are other options (see Modules chapter).
The best I have is steambot invite (redirect_askconnect_steambot.smx). But it is also the most complex to set-up!

Zephyrus 01-19-2015 14:01

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
this is a lot of time spent on something thats quite useless... ppl should just bug valve to fix askconnect

pcmaster 01-19-2015 15:48

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Quote:

Originally Posted by Zephyrus (Post 2251146)
this is a lot of time spent on something thats quite useless... ppl should just bug valve to fix askconnect

You know that the fix will likely never happen.. or only in 2+ years.

Zephyrus 01-19-2015 16:58

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Quote:

Originally Posted by pcmaster (Post 2251184)
You know that the fix will likely never happen.. or only in 2+ years.

funny how it only took them a week to fix an exploit that was used for this

ocwoody 01-19-2015 23:52

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
Quote:

Originally Posted by Zephyrus (Post 2251206)
funny how it only took them a week to fix an exploit that was used for this

Priorities....

Chdata 01-20-2015 00:03

Re: [ANY] Server Redirect - A full featured server listing/hoper (v0.1.0, 18/01/2015)
 
@Valve's priorities

http://forums.steampowered.com/forum...2&postcount=10


All times are GMT -4. The time now is 14:47.

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