Servidor esta fechando sozinho e nos logs nao apresenta nenhum dado, mesmo com crash detect ativado.
Como identificar esse problema? Vi alguns relatos da plugin pawnraknet entrando em conflito com outras, já desativei a por um momento a plugin do sampvoice, mas o problema persistiu. Alguém tem alguma ideia de como posso identificar e resolver isso?
plugins: crashdetect mysql YSF streamer sscanf pawncmd FCNPC pawnraknet sampvoice
Essa include permite criar até 3 notificações ao mesmo tempo, podendo escolher em cada notificação: Titulo e Mensagem. Cada notificação fica visivel por um tempo estimado de 8-10 segundos
0: Função falhou e/ou exedeu o limite de 3 notificações ao mesmo tempo
1: Função foi executada com sucesso!
Exemplo de Uso:
Código:
public OnPlayerSpawn(playerid){
Notificacao(playerid, "Spawnado", "Voce acaba de spawnar no servidor, parabens. seja bem vindo ao servidor!");
SetPlayerPos(playerid, 1212.4865,-977.6506,43.4766);
return 1;
}
public OnPlayerConnect(playerid){
Notificacao(playerid, "Conectando", "Voce esta conectando ao servidor!");
return 1;
}
public OnPlayerText(playerid, text[]){
Notificacao(playerid, "Ajuda", "Se voce tiver duvidas, use /ajuda!");
return 1;
}
Resultado do Exemplo:
-> Observações finais:
É recomendado utilizar de 0-100 caracteres na mensagem para não ultrapassar a box
O Sistema gerencia os 3 slots de notificação automaticamente sem a necessidade de escolher, basta chamar a função.
Chamar a função enquanto existem 3 notificações sendo mostradas ao jogador fará com que a função retorne 0 e falhe.
Sei que poderia ser mais otimizado, porém fiz em 1 hora e meia, quem sabe venha otimizações em futuras versões (apenas no github)
Meu anti divulgação de IPs está kickando pessoas inoscentes, pessoas que nem estavam divulgando, só mandaram uns numeros tão tomando kick
Alguém tem ou sabe fazer um melhor pra bloquear links e/ou ips?
Código:
if(FindIpPattern(playerid,ver_string)) {
new string[128];
format(string,sizeof(string),"%s kickado por divulgação", PlayerName(playerid));
SendClientMessageToAll(COLOR_LIGHTRED, string);
Kick(playerid);
return 0;
}
Código:
forward FindIpPattern(playerid,const string[]); public FindIpPattern(playerid,const string[]) {
new stringNumeric = false, stringBegin, ipDigits = 0;
for(new i=0; i<strlen(string); i++) {
if(string[i]<='9' && string[i]>='0')
{
if(!stringNumeric) // first digit
{
stringNumeric=true;
stringBegin=i;
if(i==strlen(string)-1) // string ends with one digit number
{
ipDigits++;
if(ipDigits>3) // 4 digits
return 1;
}
}
else
{
if(i==strlen(string)-1) // string ends with the last digit
{
new stringn[256];
new number;
for(new j=stringBegin; j<i+1; j++)
stringn[j-stringBegin]=string[j];
stringn[i-stringBegin+1]=0;
number=strval(stringn);
if(number>=0 && number<256) // our case
{
ipDigits++;
if(ipDigits>3) // 4 digits
return 1;
}
}
}
}
else
{
if(stringNumeric) // last digit+1
{
stringNumeric=false;
new stringn[256];
new number;
for(new j=stringBegin; j<i; j++)
stringn[j-stringBegin]=string[j];
stringn[i-stringBegin]=0;
number=strval(stringn);
if(number>=0 && number<256) // our case
{
ipDigits++;
if(ipDigits>3) // 4 digits
return 1;
}
else // not in ip-group range
{
ipDigits=0; // reset ip digit counter;
}
}
}
}
return 0;
}
Estou ciente que a plugin do sampvoice e a pawn.RakNet entram em conflito e causa crash no servidor, porém também sei que é possível fazer certas combinações/alterações de versões e até mesmo na ordem inserida no server.cfg, que fazem funcionar as duas corretamente. sem quedas. Afinal, existe vários servidores grandes que usam e fazem acontecer.
Alguém com conhecimento, que já testou ou sabe qual a melhor forma de usar as duas plugins? Ficaria MUITO grato! Estou precisando dessa luz
A minha ordem atual no cfg: crashdetect sampvoice YSF streamer mysql sscanf pawncmd pawnraknet FCNPC
boa noite.. estava olhando o log para ver sobre o erro que estava tentando corrigir no servidor... porém eu achei esse flood no log... alguém sabe se isso e um tipo de hack? e como bloquear?