Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie] Online Whitelist


Rekomendowane odpowiedzi

Opublikowano

Siemka,
ostatnio trochę poszukiwałem po pluginie którym będe mógł się rejestrować
przez stronę internetową i znalazłem ten plugin:

 

Prosił bym by ktoś mi wyjaśnił jak to zainstalowac i zkonfigurować albo zrobić pod to pliki które wrzucę na stronę.

Z góry dziękuję.

Dla Mod'a:

P.S. Jeśli zły dział to proszę o przesunięcie.

 

Opublikowano

Tego już nie zainstalujesz polecam aktualne aza razem łatwe pluginy typu

MilkAdmin

WEBadmin

BackWwW

Pomagam w tworzeniu for IPB za darmo. Trzy letnie doświadczenie.

Opublikowano

@up Pluginy które podałeś służą do zarządzania serwerem a jemu chodzi o to aby po rejestracji na stronie gracz został dodany do WhiteList :) @topic Coś takiego można napisać w PHP ale jeżeli chodzi o plugin to nw czy jeszcze jest

Opublikowano

Plugin który podałeś jest chyba jedynym tego typu, przeszukałem internet by ci pomóc i nic nie znalazłem.

Niestety ten plugin już nie działa. Pozostaje pobawić się w autorski :)

Opublikowano

Zostaje Ci automatycznie napisanie w PHP wlasnej whitelisty z przekierowaniem, bo to jedyny taki plugin.

random.jpg


Opublikowano

Każdy skrypt sklepu to wykona.

 

W ten sposób możesz zrobić płatne WL.

 

Ewentualnie zedytować skrypt tak aby po wypełnieniu formularza serwer wykonywał polecenie.

Opublikowano

http://dev.bukkit.org/bukkit-plugins/sql-whitelist/

a moze to by działało???



<form method="get" action="register.php">
<input type="text" name="player" placeholder="username">
<input type="submit" value="Register">
</form>
<?php
$host="localhost";
$port=3306;
$user="root";
$pass="root";
$db="minecraft";
$table="whitelist";
$player=$_GET['player'];
$mysqli=new mysqli($host, $user, $pass, $db, $port);
if($mysqli->query("INSERT INTO ".$table." VALUES ('".$player."')")){
printf("Successful!\n");
} else {
printf("Error: %s\n", $mysqli->error);
}
$mysqli->close();
?>

 

 

czy to by dzialo??

Opublikowano

@2up zaraz spróbuje ogarnąć połączenie tego pl z logowaniem jak coś wskóram podeśle ci skrypt na PW :D

Opublikowano

Może inaczej, ja zrobiłbym tak:

Napisać jakiś najprostszy formularz, który połączy się z serwerem np: przez RCON i wykona na serwerze komendę /whitelist add $nick

 

:)

  • 2 tygodnie później...
  • 2 miesiące temu...
Opublikowano

Powiedz mi, czy ty masz wlasne ip znaczy czy nie kupiles na jakims hostingu gdzie adres masz z portem innym niz 25565

 

Mam taki kod, tylko musze wiedziec czy ci zadziala

 

//z telefonu

1390684250-U762298.png

Opublikowano

Powiedz mi, czy ty masz wlasne ip znaczy czy nie kupiles na jakims hostingu gdzie adres masz z portem innym niz 25565

 

Mam taki kod, tylko musze wiedziec czy ci zadziala

 

//z telefonu

mam vps'a. :D czyli ma port 25565 :D
Opublikowano

Mam prosty skrypcik, wykorzystujący rcona, a więc najpierw w server.properties włącz rcona, i ustaw hasło. Potem stwórz w folderze strony plik MinecraftRcon.class.php i wklej tam to:

<?php
class MinecraftRconException extends Exception
{
	// Exception thrown by MinecraftRcon class
}

class MinecraftRcon
{
	/*
	 * Class written by xPaw
	 *
	 * Website: http://xpaw.ru
	 * GitHub: https://github.com/xPaw/PHP-Minecraft-Query
	 *
	 * Protocol: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol
	 */
	
	// Sending
	const SERVERDATA_EXECCOMMAND    = 2;
	const SERVERDATA_AUTH           = 3;
	
	// Receiving
	const SERVERDATA_RESPONSE_VALUE = 0;
	const SERVERDATA_AUTH_RESPONSE  = 2;
	
	private $Socket;
	private $RequestId;
	
	public function __destruct( )
	{
		$this->Disconnect( );
	}
	
	public function Connect( $Ip, $Port = 25575, $Password, $Timeout = 3 )
	{
		$this->RequestId = 0;
		
		if( $this->Socket = FSockOpen( $Ip, (int)$Port ) )
		{
			Socket_Set_TimeOut( $this->Socket, $Timeout );
			
			if( !$this->Auth( $Password ) )
			{
				$this->Disconnect( );
				
				throw new MinecraftRconException( "Authorization failed." );
			}
		}
		else
		{
			throw new MinecraftQueryException( "Can't open socket." );
		}
	}
	
	public function Disconnect( )
	{
		if( $this->Socket )
		{
			FClose( $this->Socket );
			
			$this->Socket = null;
		}
	}
	
	public function Command( $String )
	{
		if( !$this->WriteData( self :: SERVERDATA_EXECCOMMAND, $String ) )
		{
			return false;
		}
		
		$Data = $this->ReadData( );
		
		if( $Data[ 'RequestId' ] < 1 || $Data[ 'Response' ] != self :: SERVERDATA_RESPONSE_VALUE )
		{
			return false;
		}
		
		return $Data[ 'String' ];
	}
	
	private function Auth( $Password )
	{
		if( !$this->WriteData( self :: SERVERDATA_AUTH, $Password ) )
		{
			return false;
		}
		
		$Data = $this->ReadData( );
		
		return $Data[ 'RequestId' ] > -1 && $Data[ 'Response' ] == self :: SERVERDATA_AUTH_RESPONSE;
	}
	
	private function ReadData( )
	{
		$Packet = Array( );
		
		$Size = FRead( $this->Socket, 4 );
		$Size = UnPack( 'V1Size', $Size );
		$Size = $Size[ 'Size' ];
		
		// TODO: Add multiple packets (Source)
		
		$Packet = FRead( $this->Socket, $Size );
		$Packet = UnPack( 'V1RequestId/V1Response/a*String/a*String2', $Packet );
		
		return $Packet;
	}
	
	private function WriteData( $Command, $String = "" )
	{
		// Pack the packet together
		$Data = Pack( 'VV', $this->RequestId++, $Command ) . $String . "\x00\x00\x00"; 
		
		// Prepend packet length
		$Data = Pack( 'V', StrLen( $Data ) ) . $Data;
		
		$Length = StrLen( $Data );
		
		return $Length === FWrite( $this->Socket, $Data, $Length );
	}
}

A teraz czas na mój skrypt, wklej to na swojej stronie

<?
include("MinecraftRcon.class.php");
function sprnick($nick){ //funkcja sprawdza czy nick zawiera tylko dozwolone znaki
$dozwolone_znaki = "ABCDEFGHIJKLMNOPQRSTUWXYZabcdefghijklmnopqrstuwxyz"; //dozwolone znaki w nicku
for($i = 0;$i <= strlen($dozwolone_znaki);$i++) $nick = str_replace($dozwolone_znaki[$i], "", $nick);
return $nick == "";
}
function wladd($nick, $ip, $port, $password){ //funkcja wysyla komende white list add [nick] na serwer mc
if(sprnick($nick)){
$con = new MinecraftRcon;
$con->Connect($ip, $port, $password);
$con->Command("whitelist add " .$nick);
return 1; //kiedy poprawnie dodano
}
else return 2; //kiedy nick jest zły
}

if(wladd(nick, ip, port, haslo) == 1) echo "Pomyślnie dodano do whitelisty";
else echo "Nick jest niepoprawny";

?>

Zauważyłem, że może być error, kiedy serwer jest off. Jutro poprawie ten skrypt. Ale póki serwer jest on możesz spokojnie go używać

1390684250-U762298.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...