SA-MP Forums Archive
Unbanip crashes the server - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Unbanip crashes the server (/showthread.php?tid=609941)



Unbanip crashes the server - NeXoR - 18.06.2016

Hey guys, when I execute the command, it simply closes my server

PHP код:
CMD:unbanip(playeridparam[])
{
    if(!
IsAuth(playerid3)) return NoAuth(playerid);
    if(
sscanf(param"s[16]"param)) return SendClientMessage(playeridCOLOR_WHITE"USAGE: /unbanip [IP]");
    if(!
IsIP(param)) return SendClientMessage(playeridCOLOR_WHITE"Invalid IP Address.");
    new 
File:ban fopen("samp.ban"io_read);
    new 
idx 1string[128];
    while(
fread(banstring))
    {
        if(
strfind(stringparamtrue) != -1)
        {
            
fdeleteline("samp.ban"idx);
            
format(stringsizeof(string), "AdmWarn: %s %s has unbanned IP Address %s"RPARN(playerid), RPN(playerid), param);
            
SendAMessage(1string);
            
format(stringsizeof(string), "AdmWarn: %s (%s) has unbanned IP %s"RPN(playerid), RPIP(playerid), param);
            
Log("logs/unban.log"string);
            
fclose(ban);
            print(
"Success.");
            return 
1;
        }
        
printf("IDX: %d"idx);
        
idx++;
    }
    
fclose(ban);
    print(
"Fail.");
    
SendClientMessage(playeridCOLOR_WHITE"IP Address is not banned.");
    return 
1;

fdeleteline (found somewhere on the forums)
PHP код:
fdeleteline(filename[], line)
{
  new 
countstring[256], File:fileFile:temp;
  
filefopen(filenameio_read);
  
temp fopen("tmpfile.tmp"io_write);
  while (
fread(filestring))
    if (++
count != line)
      
fwrite(tempstring);
  
fclose(file);
  
fclose(temp);
  
filefopen(filenameio_write);
  
temp fopen("tmpfile.tmp"io_read);
  while (
fread(tempstring))
    
fwrite(filestring);
  
fclose(file);
  
fclose(temp);
  
fremove("tmpfile.tmp");

Anyone ?


Re: Unbanip crashes the server - DTV - 18.06.2016

Why not use SendRconCommand to unban the ip in the .ban file?


Re: Unbanip crashes the server - NeXoR - 18.06.2016

Quote:
Originally Posted by DTV
Посмотреть сообщение
Why not use SendRconCommand to unban the ip in the .ban file?
Well, I can use it for sure, but then I can't verify if the IP is banned
Also, I would like to make an /unban CMD for a username, not an IP address, and the RCON command is made for IP Addresses


Re: Unbanip crashes the server - Konstantinos - 18.06.2016

If the file handle fopen returns is 0, do NOT use file functions because they will crash the server. Check if it's not equal to 0 first to prevent this.


Re: Unbanip crashes the server - Vince - 18.06.2016

Also see ftemp().