AdminMod.de
https://www.adminmod.de/

wer kann mir ein redirect plugin basteln?
https://www.adminmod.de/viewtopic.php?t=3343
Seite 1 von 1

Autor:  aro.anfaenger [ 14.06.2002, 14:20 ]
Betreff des Beitrags:  wer kann mir ein redirect plugin basteln?

hi, ganz einfach ich suche ein
plugin, daß automatisch JEDEN, der connectet, auf einen anderen Server weiterleitet.
das plugin von adminmod.org ist im sourcecode fehler haft, und hat zu viele zwischen abfragen die ich alle nicht brauche...

Fragt bitte nicht, was das bringen soll.
Es hat seinen Sinn...

Also nochmal ich brauch ein Plugin, daß die Spieler auf einen anderen Server redirektet.

Genial wäre es, wenn ihr es so schreiben könntet, daß das plugin, die ip, zu dem der Client weitergeleitet werden soll, aus einer datei (zB redirect.txt) hohlt...

Autor:  [COLA]*Whiskey [ 14.06.2002, 15:41 ]
Betreff des Beitrags: 

hast du lange weile ? und das am Wochenende ?

zu dem redirect was soll das bringen :-? :lol:

ich kenn nur das von www.adminmod.org und hab mich schon gefragt was das bringen soll als ich es ausprobiert habe. wenn man nich auf nen server kommt dann wird man das schon merken da brauch man nich extra nen plugin für

Autor:  Smudo [ 14.06.2002, 21:20 ]
Betreff des Beitrags: 

Also ich finds nicht schlecht.
Wenn der PW Server mal wieder leer ist, mache ich redirect auf unserem public Server an und rubbeldiekatz ist der Server voll :)

Autor:  Smudo [ 23.06.2002, 00:11 ]
Betreff des Beitrags: 

Versuchs mal damit:
Code:
/**************************************************************************************************
***	Plugin_LogD_Redirect	***	by [HDK]DragonReborn	***	[11-03-2001][v1.1]	***
***					Modified by Smudo					***
***************************************************************************************************
*
* Anleitung
* ------------
*  Dieses Plugin benoetigt LogD!!
*  Einfach compilieren und in das dlls Verzeichnis kopieren
*	(Beispiel: c:\sierra\half-life\cstrike\dlls)
*  In der plugin.ini folgende Zeile einfuegen:	dlls/plugin_logd_redirect.amx
*  Nach Aktivierung des Plugins durch "admin_redirect 1" wird jeder User 
*  auf einen anderen Server weitergeleitet wenn der Server voll ist. Voll
*  bedeutet in diesem Fall: Maximale Anzahl - 2. 
*	(Beispiel: Bei einem Server mit maximal 16 Playern wird der 15te weitergeleitet
*	 um eine gerade Anzahl von Spielern zu behalten.)
*  Das Plugin ist ausgelegt fuer Server ohne reservierte Plaetzt, da es sich ja im 
*  Prinzip auch um eine Reservierung handelt. 
*  Auf Servern mit einer ungeraden Anzahl an reservierten Plaetzen kann nach Aktivieren 
*  dieses Plugins nur noch eine ungerade Anzahl an Spielern spielen. (ausbaufaehig :) )
*
*  Admins mit ACCESS_IMMUNITY werden nicht weitergeleitet, ausser bei redirect_all.

*  Beim ersten Start ist unser Server als Default eingestellt. Anschliessend kann man
*  durch Aenderungen in der vault.ini folgende Werte festlegen.
*  - admin_redirectziel [TV]HolodeckXP		//Name des Zielservers
*  - admin_redirectip 213.146.163.208:27135	//IP des Zielservers
*  - admin_redirectpw VIP			//Passwort des Zielservers
*  - admin_redirect 0				//Umleitung An(1) oder Aus(0)
*
* _________________________________________________________________________________________________
*
* Befehle
* --------
* - admin_redirect 1 : Weiterleitung An
* - admin_redirect 0 : Weiterleitung Aus
* - admin_redirect all : Alle Spieler werden sofort weitergeleitet
*
*
**************************************************************************************************/

#include <core>
#include <console>
#include <string>
#include <admin>
#include <adminlib>

#define ACCESS_CONSOLE 131072
#define ACCESS_REDIRECT 4096

new STRING_VERSION[MAX_DATA_LENGTH] = "1.1";
new User[MAX_NAME_LENGTH];
new RSwitch;
new RStandard[MAX_DATA_LENGTH];

/*******************************************************************************
**   Hier oder in der vault.ini Name, IP und das PW des Zielservers angeben   **
**              Die Angaben in der vault.ini haben Vorrang.		      **
*******************************************************************************/

new ZIEL[MAX_TEXT_LENGTH] = "[TV]HolodeckXP";
new IP[MAX_TEXT_LENGTH] = "213.146.163.208:27135";
new PW[MAX_TEXT_LENGTH] = "VIP";

public vaultdata()
{
	new Data[MAX_DATA_LENGTH];
	
	get_vaultdata("admin_redirectziel",Data,MAX_DATA_LENGTH);
	if(strcmp(Data,"")==0)
		{
   		set_vaultdata("admin_redirectziel",ZIEL);
		} 
	else 
		{
		get_vaultdata("admin_redirectziel",ZIEL,MAX_DATA_LENGTH);
		}
	
	get_vaultdata("admin_redirectip",Data,MAX_DATA_LENGTH);
	if(strcmp(Data,"")==0)
		{
   		set_vaultdata("admin_redirectip",IP);
		} 
	else 
		{
		get_vaultdata("admin_redirectip",IP,MAX_DATA_LENGTH);
		}
	
	get_vaultdata("admin_redirectpw",Data,MAX_DATA_LENGTH);
	if(strcmp(Data,"")==0) {
   		set_vaultdata("admin_redirectpw",PW);
		}
	else	{
		get_vaultdata("admin_redirectpw",PW,MAX_DATA_LENGTH);
		}	
	
	get_vaultdata("admin_redirect",Data,MAX_DATA_LENGTH);
	if(Data[0] == '0') {
		RSwitch = 0;
		return PLUGIN_HANDLED;
		}
	else if(Data[0] == '1'){
		RSwitch = 1;	
		return PLUGIN_HANDLED;
		}
	RSwitch = 0;
	RStandard[0] = '0';
	set_vaultdata("admin_redirect",RStandard);
	selfmessage("Weiterleitung ausgeschaltet (Standard).");
	selfmessage("Moegliche Werte sind:");
	selfmessage("0: Weiterleitung Aus, 1: Weiterleitung An, all: Alle Spieler sofort umleiten.");
	return PLUGIN_HANDLED;
}

public logd_redirect(HLCommand,HLData,HLUserName) {

	new sID[MAX_DATA_LENGTH];
	new Text[MAX_TEXT_LENGTH];
	new Data[MAX_DATA_LENGTH];
	new Count;
	new Count2;

	convert_string(HLData, Data, MAX_DATA_LENGTH);
	strbreak(Data, sID, Data, MAX_DATA_LENGTH);

	new iID = strtonum( sID );
	if( !playerinfo(iID,User,MAX_NAME_LENGTH) ) {
		return PLUGIN_FAILURE;
	}

	Count = (maxplayercount() - 2);
	Count2 = playercount();

	if (((playercount() + 1) == maxplayercount()) && (RSwitch == 1)) {
		snprintf(Text,MAX_TEXT_LENGTH,"Maxplayers = %i^nPlayerCount = %i",Count,Count2);
		messageex(User,Text,print_chat);
		redirect();
	}

	return PLUGIN_HANDLED;
}


public redirect() {

	new Text[MAX_TEXT_LENGTH];

	if (access(ACCESS_IMMUNITY, User) != 1) {
		snprintf(Text,MAX_TEXT_LENGTH,"%s wird weitergeleitet auf Server: %s",User,ZIEL);
		centersay(Text,10,0,225,0);
		messageex(User," ",print_chat);
		messageex(User,"***************************************************",print_chat);
		messageex(User,"Server ist voll, Weiterleitung erfolgt.",print_chat);
		messageex(User,"***************************************************",print_chat);
		snprintf(Text,MAX_TEXT_LENGTH,"password %s",PW);
		execclient(User,Text);
		snprintf(Text,MAX_TEXT_LENGTH,"connect %s",IP);
		execclient(User,Text);
		}
	else	
		{
		snprintf(Text,MAX_TEXT_LENGTH,"Du wirst nicht weitergeleitet da du Admin bist, %s",User);
		messageex(User,Text,print_chat);
		}
	return PLUGIN_CONTINUE;
}


public admin_redirect(HLCommand,HLData,HLUserName,UserIndex) 
{
	new Data[MAX_DATA_LENGTH];
	new Text[MAX_TEXT_LENGTH];
	convert_string(HLData,Data,MAX_DATA_LENGTH); 
	if(strcmp(Data,"0")==0)
	{
		RSwitch = 0;
		set_vaultdata("admin_redirect",Data);
		selfmessage("Weiterleitung ist ausgeschaltet.");
	}
        else if(strcmp(Data,"1")==0)
        {
   		RSwitch = 1;
		set_vaultdata("admin_redirect",Data);
		selfmessage("Weiterleitung ist eingeschaltet.");
        }
       	else if(strcmp(Data,"all")==0)
        {
   		redirectall();
        }
	else 
        {
        	get_vaultdata("admin_redirect",Data,MAX_DATA_LENGTH);
		snprintf(Text,MAX_TEXT_LENGTH,"Weiterleitung Status: %s",Data);
        	selfmessage("Ungueltiger Wert fuer admin_redirect");
        	selfmessage("0: Weiterleitung Aus, 1: Weiterleitung An, all: Alle Spieler sofort umleiten.");
		selfmessage(Text);
        }
	return PLUGIN_HANDLED;
}

public redirectall()
{
	new Text[MAX_TEXT_LENGTH];
	new maxplayers = maxplayercount();
	
	for( new iIDU = 1; iIDU <= maxplayers; iIDU++ ) {
		if( !playerinfo(iIDU,User,MAX_NAME_LENGTH) ) {
			return PLUGIN_FAILURE;
			}
		if (strcmp(PW,"none")!=0) {
			snprintf(Text,MAX_TEXT_LENGTH,"password %s",PW);
			execclient(User,Text);
			}
		snprintf(Text,MAX_TEXT_LENGTH,"connect %s",IP);
		execclient(User,Text);
		}
	return PLUGIN_HANDLED;
}

public plugin_init() {
	plugin_registerinfo("Plugin_LogD_Redirect","Redirects connections on full servers to another server.",STRING_VERSION);
	plugin_registercmd("logd_redirect", "logd_redirect", ACCESS_CONSOLE, "");
	plugin_registercmd("admin_redirect", "admin_redirect", ACCESS_BAN, "admin_redirect (1/0):  0=Weiterleitung AUS, 1=Weiterleitung AN");
	/*plugin_registercmd("admin_redirectall", "admin_redirectall", ACCESS_BAN, "Alle Spieler weiterleiten");*/

	exec( "logd_reg	51 admin_command logd_redirect" );

	vaultdata();
	return PLUGIN_CONTINUE;
}
Bei uns funzt das auf jeden Fall :)

Autor:  Sedonion [ 26.08.2002, 14:31 ]
Betreff des Beitrags: 

Tja, bei uns haut das nicht hin.
Redirect 1 geht wunderbar, alle über 14 Player (bei unserem 16er) werden umgeleitet.
Ich brauche aber auch dringend die redirect all Funktion. Und das haut nicht hin bei uns.

Und redirect all geht bei Euch?

Habe Linux Server. Im Plugin unseren Server eingetragen, unter windows compiliert, und dann mit dem Konverter in Linux File konvertiert.

Sed

Seite 1 von 1 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/