Wollte auch drauf aber bei 13 User lohnt nicht
Schade eigentlich
Aktuell Sommerloch. Aber eben waren so 25-30 On.
Wollte auch drauf aber bei 13 User lohnt nicht
Schade eigentlich
Aktuell Sommerloch. Aber eben waren so 25-30 On.
Henner helf den Leuten maa
beides glaub ich. Samp und FiveM
Ich meine mich zu entsinnen, dass wir damals immer nur Probleme mit SendInput hatten und man auf Send oder SendEvent umsteigen musste.
Meine Erfahrung damit liegen aber auch ein paar Tage zurück - wenn dies keine Lösung bringt, kannst du ja mit einer AddChatMessage mal schauen, ob der Timer getriggert wird.
Hey! Ja so klappt es jetzt. Perfekt! Aber zweites Problem. Der spammt das jetzt alle 100ms. kann man da einen Cooldown einbauen, dass er sobald ich die Coodinate betrete es sofort triggert. und danach erstmal 5 Sekunden den Timer ausmacht und nach 5 Sekunden erneut triggert?
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0))
{
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
{
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
return
}
return
Alles anzeigen
Habe das mit dem Cooldown mal so versucht. Aber diesmal muss ich dann 5 Sekunden in der Koordinate warten, bis er triggert.
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0))
{
SetTimer, AutoDuty, Off
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
Sleep, 5000
SetTimer, AutoDuty, 100
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
{
SetTimer, AutoDuty, Off
SendEvent, {n down}
Sleep, 50
SendEvent, {n up}
Sleep, 5000
SetTimer, AutoDuty, 100
return
}
return
Alles anzeigen
Hallo,
ich bin gerade dabei einen Funktion zu bauen, die es mir erlaubt automatisch in den Dienst zu gehen und mich zu equipen.
Leider funktioniert diese Version nicht automatisch.
Ich benutze die SAMP UDF R18 von Chuck_Floyd für folgende Version: SAMP Version: 0.3.7, 0.3.7-R2, 0.3.DL.
Das ganze soll für OpenMP sein.
Mein Code:
AutoDuty:
if (IsPlayerInRangeOfPoint(239.7061, 1858.9551, 14.0840, 2.0)) ; Duty
{
SendInput, n
Sleep, 500
return
}
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0)) ; Equip
{
SendInput, n
Sleep, 500
return
}
return
Alles anzeigen
Mein Timer:
#SingleInstance Force
#Persistent
#NoEnv
#Include, includes/SAMP.ahk
SetBatchLines -1
SetKeyDelay -1
SetTimer, AutoDuty, 500
if (!A_IsAdmin)
{
Run *RunAs "%A_ScriptFullPath%"
ExitApp
}
WinGetTitle, gta_title, ahk_exe gta_sa.exe
WinGet, gta_process, ProcessName, ahk_exe gta_sa.exe
WinGet, gta_path, ProcessPath, ahk_exe gta_sa.exe
gta_folder := StrReplace(gta_path, gta_process)
IniFile := "ArmyBinder.ini"
IniRead, HK_SU, %IniFile%, Hotkeys, SU,
IniRead, HK_Bounce, %IniFile%, Hotkeys, Bounce,
IniRead, HK_Clear, %IniFile%, Hotkeys, Clear,
....
Alles anzeigen
es funktioniert aber nicht.
Ich dachte erstmal die UDF wird von OpenMP nicht erkannt. Um das zu testen, habe ich geschaut ob die Coordinaten überhaupt erkannt werden. Diese habe ich so getestet:
F9::
GetPlayerPos(x, y, z)
AddChatMessage("X: " . x . " | Y: " . y . " | Z: " . z)
return
F8::
if (IsPlayerInRangeOfPoint(248.5680, 1860.6121, 14.0840, 2.0))
AddChatMessage("JA")
else
AddChatMessage("NEIN")
return
Alles anzeigen
Resultat:
Danach habe ich getestet ob Sendinput, n überhaupt erkannt wird.
Es auf die Taste F10 gepackt und immer wenn ich F10 gedrückt habe, wurde die Taste N auch getriggert. Also klappt auch
Ich brauche bitte eure Hilfe
In der Funktion OnAccountCheckPW da gibt es folgende Zeile:
Schreib mal direkt darüber folgendes:
Und dann schau mal im serverlog und in der DB, was da so unter Passwort steht.
Alles gut hat geklappt.
musste bei PhpMyAdmin unter SQL einfügen:
ALTER TABLE accounts
ALTER name SET DEFAULT '',
ALTER passwort SET DEFAULT '';
anscheinend hat dieses kein(e) dahinter zu diesem Problem geführt.
Perfekt, hat geklappt bin jetzt auf dem Server!
Kann ich die aber weiterhin auf kein(e) lassen? Weil alle anderen sind jetzt auf NULL
_____________________________
Neues Problem:
Registrierung klappt. Account wird auch jetzt in der Datenbank gespeichert.
Nur wenn ich mich wieder neu einloggen will, sagt der mir, dass mein Passwort falsch ist. ![]()
1. Wird dir denn der Dialog "Herzlich Willkommen auf Calikartell-Deathmatch...." angezeigt?
2. Bekommst du, wenn du das Skript kompilierst eine Info wo irgendwas von Stack/Heap Size steht und Total requirements?
3. Check mal die Ordner, ob es einen Log Ordner gibt mit einem mysql log? Ansonsten unter OnGameModeInit, mal mysql_log(LOG_ALL); schreiben und dann nochmal probieren und prüfen.
1. Ja
2. Nein
3. MySQL Log: gist:9ea8b587d4ceabd67356c19adf8004d6
Edit:
MySQL Log hinzugefügt
Hätte ja sein können, dass ein Account bereits in der Datenbank existiert, den du manuell angelegt oder noch von einem früheren Server hattest.
Du hast dich oben etwas missverständlich ausgedrückt.
Aber na gut, dann brauchen wir natürlich die: OnPlayerCreateAccount Funkion
Das tut mir leid.
forward OnPlayerCreateAccount(playerid);
public OnPlayerCreateAccount(playerid){
SetPVarInt(playerid,"accountid", cache_insert_id(mysql));
ClearChatForPlayer(playerid,20);
new str[700],str_[370],str__[330];
format(str_,sizeof(str_),"{FF8C00}Herzlich Willkommen auf Calikartell-Deathmatch!\n\n{B9B9BF}Calikartell-Deathmatch ist ein DM Server, wie der Name ja schon sagt.\nNatürlich bieten wir neben den DM Arenen auch andere Arten von Arenen, wie Stunt Arenen.\n\nWie auf jedem anderen Server auch, gibt es hier Regeln.\nDu solltest wissen: Unwissenheit schützt vor Strafe nicht!\n\nAlle Regeln kannst du im Forum sehen.\n\n");
format(str__,sizeof(str__),"\nAlle Plattformen von Calikartell-Deathmatch:\nSA-MP\t\t{FF8C00}kommtnoch\n{B9B9BF}Teamspeak3\t{FF8C00}kommtnoch\n{B9B9BF}Control Panel\t{FF8C00}kommtnoch\n\n{B9B9BF}Fragen kannst du per /sup stellen, Cheater oder Buguser per /a melden.\nDas Team von Calikartell-Deathmatch wünscht dir viel Spaß!");
format(str,sizeof(str),"%s%s",str_,str__);
ShowPlayerDialogEx(playerid,DIALOG_REGISTER_INFO,DIALOG_STYLE_MSGBOX,"Willkommen!",str,"Ok","");
SendClientMessage(playerid,HELLGRUEN,"* Mit /skinauswahl kannst du deinen Skin ändern.");
new pName[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,pName,sizeof(pName));
new rand = random(sizeof(skinList));
mysql_format(mysql, str,sizeof(str),"UPDATE accounts SET regip = '%e', loginip = '%e', oldName = '', skin = %i, money = 10000, achievementkills = 10, achievementtime = 1, clan = -1, connected = 1, loggedin = 1, lastlogin = %i, register = %i WHERE name = '%e'",ipinfo[playerid][ip__],ipinfo[playerid][ip__],skinList[rand][0],gettime(),gettime(),pName);
mysql_tquery(mysql, str);
format(str__, sizeof(str__), "[user]%i[/user] hat sich registriert. (IP: %s)", GetPVarInt(playerid, "accountid"), ipinfo[playerid][ip__]);
Log(str__, 6);
LoadAccount(playerid);
format(str, sizeof(str), "%s hat sich Erfolgreich auf Calikartell-Deathmatch Registriert.",SpielerName(playerid));
ServerStats[sAccounts] ++;
return 1;
}
Alles anzeigen
Und hast du dich auch eingeloggt oder wolltest du dich registrieren?
Ich wollte mich registrieren, weil Login kann ich ja nicht, da noch kein Account existiert
Hattest du das Skript auch neu kompiliert, als du die Log Funktion angepasst hattest?
Ja hab ich ![]()
Alles anzeigenUnd wie sieht die OnPlayerLoadAccount
Und schreib die Log-Funktion mal so:
CAlles anzeigenstock Log(const string[], ...) { new log_categories[32], entry[512], query[1024]; mysql_escape_string(string, entry); for (new i = 1; i < numargs(); i++) { format(log_categories, sizeof(log_categories), "%s|%d", log_categories, @arg[i]); } print(string); format(query, sizeof(query), "INSERT INTO logs (entry, timestamp) VALUES ('%s', %d);", entry, gettime()); mysql_tquery(mysql, query, "OnLogEntrySaved", "s", log_categories); }
und dann logge dich nochmal ein und poste den server.log
[19:51:16] [debug] Server received interrupt signal
[19:51:16] [debug] Native backtrace:
[19:51:16] [debug] #0 f791be8b in _ZN10StackTraceC1EPv () from plugins/crashdetect.so
[19:51:16] [debug] #1 f7914bcf in _ZN11CrashDetect20PrintNativeBacktraceERSoPv () from plugins/crashdetect.so
[19:51:16] [debug] #2 f7915dbc in _ZN11CrashDetect20PrintNativeBacktraceEPv () from plugins/crashdetect.so
[19:51:16] [debug] #3 f7916176 in _ZN11CrashDetect11OnInterruptEPv () from plugins/crashdetect.so
[19:51:16] [debug] #4 f791ba7c in ?? () from plugins/crashdetect.so
[19:51:16] [debug] #5 f7f515b0 in __kernel_rt_sigreturn () from linux-gate.so.1
[19:51:16] [debug] #6 f79da29b in ?? () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #7 f79cd949 in ?? () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #8 f7a2586f in __clock_nanosleep_time64 () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #9 f7a379ea in nanosleep () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #10 f7a671ee in usleep () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #11 080aa172 in ?? () from ./samp03svr
[19:51:16] [debug] #12 f7965cc3 in ?? () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #13 f7965d88 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
[19:51:16] [debug] #14 0804b4e1 in ?? () from ./samp03svr
[19:51:16] --- Server Shutting Down.
[19:51:16] plugin.mysql: Unloading plugin...
[19:51:16] plugin.mysql: Plugin unloaded.
[19:51:16]
[19:51:16] ===============================
[19:51:16] sscanf plugin unloaded.
[19:51:16] ===============================
[19:51:16]
*** Streamer Plugin v2.9.4 by Incognito unloaded ***
[19:51:16]
[19:51:16] ====================
[19:51:16]
[19:51:16] Whirlpool unloaded
[19:51:16]
[19:51:16] ====================
[19:51:16]
[19:51:16] SA-MP Clientside AntiCheat v0.10.0 is being unloaded ...
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team
[19:51:25]
[19:51:25] Server Plugins
[19:51:25] --------------
[19:51:25] Loading plugin: crashdetect.so
[19:51:25] CrashDetect v4.15.1 is OK.
[19:51:25] Loaded.
[19:51:25] Loading plugin: mysql.so
[19:51:25] >> plugin.mysql: R39-5 successfully loaded.
[19:51:25] Loaded.
[19:51:25] Loading plugin: sscanf.so
[19:51:25]
[19:51:25] ===============================
[19:51:25] sscanf plugin loaded.
[19:51:25] Version: 2.8.2
[19:51:25] (c) 2012 Alex "Y_Less" Cole
[19:51:25] ===============================
[19:51:25] Loaded.
[19:51:25] Loading plugin: streamer.so
[19:51:25]
*** Streamer Plugin v2.9.4 by Incognito loaded ***
[19:51:25] Loaded.
[19:51:25] Loading plugin: Whirlpool.so
[19:51:25]
[19:51:25] ==================
[19:51:25]
[19:51:25] Whirlpool loaded
[19:51:25]
[19:51:25] ==================
[19:51:25]
[19:51:25] Loaded.
[19:51:25] Loading plugin: sampcac_server.so
[19:51:25] SA-MP Clientside AntiCheat v0.10.0 is being loaded ...
[19:51:25] Loaded.
[19:51:25] Loaded 6 plugins.
[19:51:25]
[19:51:25] Filterscripts
[19:51:25] ---------------
[19:51:25] Loading filterscript 'antirire.amx'...
[19:51:25] Unable to load filterscript 'antirire.amx'.
[19:51:25] Loading filterscript 'rconCP.amx'...
[19:51:25] Loaded 1 filterscripts.
[19:51:25] SAMPCAC include file version (v0.00.0) does not match plugin version (v0.10.0) (script might need to be recompiled with the correct include file).
[19:51:25]
[19:51:25]
[19:51:25]
[19:51:25] =======================================
[19:51:25] | |
[19:51:25] | YSI version 4.00.0001 |
[19:51:25] | By Alex "Y_Less" Cole |
[19:51:25] | |
[19:51:25] =======================================
[19:51:25]
[19:51:25] KONNTE SICH MIT DER DATENBANK VERBINDEN!
[19:51:25] ----------------------------------
[19:51:25] Calikartell-Deathmatch - Script
[19:51:25] ----------------------------------
[19:51:25] Number of vehicle models: 15
[19:51:25] [MYSQL] Gates wurden Erfolgreich geladen.(1)
[19:51:25] [MYSQL] OBJECTE wurden Erfolgreich geladen.(2)
[19:51:25] [MYSQL] PICKUPS wurden Erfolgreich geladen.(0)
[19:51:25] [MYSQL] LABELS wurden Erfolgreich geladen.(0)
[19:51:36] [connection] MEINEIP requests connection cookie.
[19:51:37] [connection] incoming connection: MEINEIP id: 0
[19:51:37] [join] Kobiro has joined the server (0:MEINEIP)
[19:51:44] [part] Kobiro has left the server (0:1)
Alles anzeigen
forward OnPlayerLoadAccount(playerid, name[]);
public OnPlayerLoadAccount(playerid, name[]){
new rows, fields/*, TSUID[100]*/, oldName[MAX_PLAYER_NAME+1], undercoverOwner[MAX_PLAYER_NAME+1];
cache_get_data(rows, fields, mysql);
if(rows){
SetPVarInt(playerid,"adminlevel",cache_get_field_content_int(0, "adminlevel", mysql));
SetPlayerScore(playerid, cache_get_field_content_int(0, "score", mysql));
SetPVarInt(playerid,"kills", cache_get_field_content_int(0, "kills", mysql));
SetPVarInt(playerid,"deaths", cache_get_field_content_int(0, "deaths", mysql));
SetPVarInt(playerid,"money", cache_get_field_content_int(0, "money", mysql));
SetPVarInt(playerid,"donator", cache_get_field_content_int(0, "donator", mysql));
SetPVarInt(playerid,"premium", cache_get_field_content_int(0, "premium", mysql));
SetPVarInt(playerid,"mute", cache_get_field_content_int(0, "mute", mysql));
SetPVarInt(playerid,"verwarnung", cache_get_field_content_int(0, "verwarnung", mysql));
SetPVarInt(playerid,"undercover", cache_get_field_content_int(0, "undercover", mysql));
SetPVarInt(playerid,"supban", cache_get_field_content_int(0, "supban", mysql));
SetPVarInt(playerid,"premiumtime", cache_get_field_content_int(0, "premiumtime", mysql));
SetPVarInt(playerid,"skin", cache_get_field_content_int(0, "skin", mysql));
SetPVarInt(playerid,"ep", cache_get_field_content_int(0, "ep", mysql));
SetPVarInt(playerid,"achievementkills", cache_get_field_content_int(0, "achievementkills", mysql));
SetPVarInt(playerid,"achievementtime", cache_get_field_content_int(0, "achievementtime", mysql));
SetPVarInt(playerid,"spielminuten", cache_get_field_content_int(0, "spielminuten", mysql));
SetPVarInt(playerid,"spielstunden", cache_get_field_content_int(0, "spielstunden", mysql));
SetPVarInt(playerid,"kampfstyle", cache_get_field_content_int(0, "kampfstyle", mysql));
cache_get_field_content(0, "oldName", oldName, mysql);
cache_get_field_content(0, "undercoverOwner", undercoverOwner, mysql);
SetPVarString(playerid,"undercoverOwner", undercoverOwner);
SetPVarString(playerid,"oldname", oldName);
SetPVarInt(playerid,"voted1hit", cache_get_field_content_int(0, "voted1hit", mysql));
SetPVarInt(playerid,"drugs", cache_get_field_content_int(0, "drugs", mysql));
SetPVarInt(playerid,"clan", cache_get_field_content_int(0, "clan", mysql));
SetPVarInt(playerid,"rank", cache_get_field_content_int(0, "rank", mysql));
SetPVarInt(playerid,"spawn", cache_get_field_content_int(0, "spawn", mysql));
SetPVarInt(playerid,"registertime", cache_get_field_content_int(0, "register", mysql));
SetPVarInt(playerid,"getComplaint", cache_get_field_content_int(0, "getComplaint", mysql));
SetPVarInt(playerid,"getCoupon", cache_get_field_content_int(0, "getCoupon", mysql));
SetPVarInt(playerid,"dailyKills", cache_get_field_content_int(0, "dailyKills", mysql));
SetPVarInt(playerid,"ac_pflicht", cache_get_field_content_int(0, "ac_pflicht", mysql));
/*SetPVarInt(playerid,"TSREG", cache_get_field_content_int(0, "TSREG", mysql));
cache_get_field_content(0, "TSUID", TSUID, mysql);
SetPVarString(playerid,"TSUID", TSUID);*/
SetPVarInt(playerid,"FORUMREG", cache_get_field_content_int(0, "FORUMREG", mysql));
SetPlayerWantedLevel(playerid,GetPVarInt(playerid,"ep"));
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,GetPVarInt(playerid,"money"));
// new text[128];
SetPVarInt(playerid,"loggedin",1);
if(IsPlayerAnAdmin(playerid,3)){
SetPVarInt(playerid,"eventkit",1);
}
new str[128];
switch(GetPVarInt(playerid,"adminlevel")){
case 1: {
format(str,sizeof(str),"Du bist %s.",RANK1);
SendClientMessage(playerid,ROT,str);
}
case 2: {
format(str,sizeof(str),"Du bist %s.",RANK2);
SendClientMessage(playerid,ROT,str);
}
case 3: {
format(str,sizeof(str),"Du bist %s.",RANK3);
SendClientMessage(playerid,ROT,str);
}
case 4: {
format(str,sizeof(str),"Du bist %s.",RANK4);
SendClientMessage(playerid,ROT,str);
}
case 5: {
format(str,sizeof(str),"Du bist %s.",RANK5);
SendClientMessage(playerid,ROT,str);
}
}
if(GetPVarInt(playerid,"clan") != -1){
new lname[32];
format(lname,sizeof(lname),"%s",GetClanNameById(GetPVarInt(playerid,"clan")));
clanlabel[playerid][islabel]=1;
strins(clanlabel[playerid][labelname],lname,0);
new rank[18];
if(IsPlayerLeader(playerid)){
rank="Leader";
}else if(GetPVarInt(playerid,"rank") == 9){
rank="CO-Leader";
}else{
rank="Member";
}
new msgstr[128];
format(msgstr,sizeof(msgstr),"Du bist %s von %s.",rank,lname);
SendClientMessage(playerid,ROT,msgstr);
clanlabel[playerid][label]=Create3DTextLabel(lname,GELB,0.0,0.0,0.0,30,-1,1);
}
new query[128];
if(GetPVarInt(playerid, "getComplaint") == 1){
SendClientMessage(playerid, HELLROT, "Es gibt etwas neues zu deinen Beschwerden! Bitte überprüfe es im Control Panel!");
SetPVarInt(playerid, "getComplaint", 0);
mysql_format(mysql, query, sizeof(query), "UPDATE accounts SET getComplaint = 0 WHERE name = '%e'", name);
mysql_tquery(mysql, query);
}
if(GetPVarInt(playerid, "getCoupon") == 1){
SendClientMessage(playerid, HELLROT, "Du hast einen Gutschein erhalten. Den Code findest du im Control Panel!");
SetPVarInt(playerid, "getCoupon", 0);
mysql_format(mysql, query, sizeof(query), "UPDATE accounts SET getCoupon = 0 WHERE name = '%e'", name);
mysql_tquery(mysql, query);
}
SetTimerEx("SpawnPlayerNachLogin", 50, false, "i", playerid);
if(doublescore == 1){
ClearChatForPlayer(playerid,1);
SendClientMessage(playerid,GELB,"EVENT: Zur Zeit bekommst du für sechs Erfahrungspunkte zwei Score.");
ClearChatForPlayer(playerid,1);
}
if(IsPlayerAnAdmin(playerid,1)){
new ticketstr[500];
for(new i=0;i<MAX_TICKETS;i++){
if(TicketData[i][adminid]>-1){
format(ticketstr,sizeof(ticketstr),"%s%i: %s(%s)~n~",ticketstr,i,SpielerName(TicketData[i][playerid__]),SpielerName(TicketData[i][adminid]));
}else{
format(ticketstr,sizeof(ticketstr),"%s%i: %s~n~",ticketstr,i,SpielerName(TicketData[i][playerid__]));
}
}
PlayerTextDrawSetString(playerid,TicketTextdraw[playerid],ticketstr);
PlayerTextDrawShow(playerid,TicketTextdraw[playerid]);
}
PlayerTextDrawShow(playerid,Clock[playerid]);
PlayerTextDrawShow(playerid, dailyKillsTxd0[playerid]);
PlayerTextDrawShow(playerid, dailyKillsTxd1[playerid]);
PlayerTextDrawShow(playerid, dailyKillsTxd2[playerid]);
updateDailyKills(playerid);
switch(GetPVarInt(playerid,"kampfstyle")){
case 0:{
SetPlayerFightingStyle(playerid,FIGHT_STYLE_GRABKICK);
}
case 1:{
SetPlayerFightingStyle(playerid,FIGHT_STYLE_BOXING);
}
case 2:{
SetPlayerFightingStyle(playerid,FIGHT_STYLE_KUNGFU);
}
case 3:{
SetPlayerFightingStyle(playerid,FIGHT_STYLE_KNEEHEAD);
}
case 4:{
SetPlayerFightingStyle(playerid,FIGHT_STYLE_ELBOW);
}
}
SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,999);
}else{
Kick(playerid);
}
return 1;
}
Alles anzeigen
stock LoadAccount(playerid){
SetPlayerVirtualWorld(playerid,0);
new name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,name,sizeof(name));
new query[512];
mysql_format(mysql, query,sizeof(query),"SELECT * FROM accounts WHERE name = '%e'",name);
mysql_tquery(mysql, query, "OnPlayerLoadAccount", "is", playerid, name);
return 1;
}
stock Log(const string[], ...) {
new log_categories[32], entry[512], query[1024];
mysql_escape_string(string, entry);
for (new i = 1; i < numargs(); i++) {
format(log_categories, sizeof(log_categories), "%s|%d", log_categories, @arg[i]);
}
format(query, sizeof(query), "INSERT INTO logs (entry, timestamp) VALUES ('%s', %d);", entry, gettime());
mysql_tquery(mysql, query, "OnLogEntrySaved", "s", log_categories);
}
forward OnLogEntrySaved(log_categories[]);
public OnLogEntrySaved(log_categories[])
{
new Cache:cacheid = cache_save(), tmp[5], query[256];
if (strlen(log_categories)) {
cache_set_active(cacheid);
new logid = cache_insert_id();
for (new i = 0; i < strlen(log_categories); i++) {
if (log_categories[i] == '|') {
if (strlen(tmp)) {
mysql_format(mysql, query, sizeof(query), "INSERT INTO log_to_categories (logID, categoryID) VALUES (%i, %i)", logid, strval(tmp));
mysql_tquery(mysql, query);
format(tmp, sizeof(tmp), "");
}
}
else {
format(tmp, sizeof(tmp), "%s%c", tmp, log_categories[i]);
}
if (i == strlen(log_categories)-1) {
mysql_format(mysql, query, sizeof(query), "INSERT INTO log_to_categories (logID, categoryID) VALUES (%i, %i)", logid, strval(tmp));
mysql_tquery(mysql, query);
}
}
}
cache_delete(cacheid);
}
Alles anzeigen
Okay, und wie sieht OnAccountCheckPW aus?
forward OnAccountCheckPW(playerid, name[], text[]);
public OnAccountCheckPW(playerid, name[], text[]){
new rows, fields;
cache_get_data(rows, fields, mysql);
if(rows){
new PW[130];
cache_get_field_content(0, "passwort", PW, mysql);
if(!strcmp(PW,hashPass(text),false)){
ClearChatForPlayer(playerid,20);
SetPVarInt(playerid,"loggedin",1);
new Query[256];
mysql_format(mysql, Query, sizeof(Query), "UPDATE accounts SET loggedin = 1, loginip = '%s', lastlogin = %i WHERE name = '%e'",ipinfo[playerid][ip__], gettime(), name);
mysql_tquery(mysql, Query);
format(Query, sizeof(Query), "[user]%i[/user] hat sich eingeloggt. (IP: %s)", GetPVarInt(playerid, "accountid"), ipinfo[playerid][ip__]);
Log(Query, 6);
LoadAccount(playerid);
}else{
if(GetPVarInt(playerid,"failpass")==2){
SendClientMessage(playerid,ROT,"* Du hast zu oft ein falsches Passwort angegeben.");
KickEx(playerid);
}else{
SetPVarInt(playerid,"failpass",GetPVarInt(playerid,"failpass")+1);
ShowPlayerDialogEx(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Login","{FFD700}Falsches Passwort\n\n{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde in unsere Datenbank gefunden.\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen");
new str[128];
format(str, sizeof(str), "IP %s hat sich versucht in den Account [user]%i[/user] einzuloggen.",ipinfo[playerid][ip__], GetPVarInt(playerid, "accountid"));
Log(str, 30);
}
}
}else{
Kick(playerid);
}
return 1;
}
/*
mysql_tquery(mysql, query, "OnAccountCheckPW", "is", playerid, name);
if(!strcmp(mysql_ReturnPasswort(name),hashPass(inputtext),false)){
ClearChatForPlayer(playerid,20);
SetPVarInt(playerid,"loggedin",1);
new Query[256];
mysql_format(mysql, Query, sizeof(Query), "UPDATE accounts SET loggedin = 1, loginip = '%s', lastlogin = %i WHERE name = '%e'",ipinfo[playerid][ip__], gettime(), name);
mysql_tquery(mysql, Query);
format(Query, sizeof(Query), "[user]%i[/user] hat sich eingeloggt. (IP: %s)", GetPVarInt(playerid, "accountid"), ipinfo[playerid][ip__]);
Log(Query, 6);
LoadAccount(playerid);
}else{
if(GetPVarInt(playerid,"failpass")==2){
SendClientMessage(playerid,ROT,"* Du hast zu oft ein falsches Passwort angegeben.");
KickEx(playerid);
}else{
SetPVarInt(playerid,"failpass",GetPVarInt(playerid,"failpass")+1);
ShowPlayerDialogEx(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Login","{FFD700}Falsches Passwort\n\n{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde in unsere Datenbank gefunden.\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen");
new str[128];
format(str, sizeof(str), "IP %s hat sich versucht in den Account [user]%i[/user] einzuloggen.",ipinfo[playerid][ip__], GetPVarInt(playerid, "accountid"));
Log(str, 30);
}
}
*/
Alles anzeigen
Zeig gerne mal den Code von DIALOG_LOGIN unter OnDialogResponse.
Dann wissen wir, was passiert, wenn du das Passwort beim Login eingegeben hast.
PS: Gerne mal crashdetect laden und damit mal auf den Serverjoinen und dann die server.log nochmal anschauen/hier posten.
if(dialogid==DIALOG_REGISTER){
if(response==1){
if(strlen(inputtext) < 4){
ShowPlayerDialogEx(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Registrieren","{FFD700}Passwort war nicht lang genug\n\n{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde nicht in unsere Datenbank gefunden.\nDu kannst dir nun einen Account mit einen Passwort anlegen.","Registrieren","Abbrechen");
}else{
new query[256];
mysql_format(mysql, query, sizeof(query), "INSERT INTO `accounts` (`name`, `passwort`) VALUES ('%e', '%e')", SpielerName(playerid), hashPass(inputtext));
mysql_tquery(mysql, query, "OnPlayerCreateAccount", "i", playerid);
return 1;
}
}else{
SendClientMessage(playerid,WEISS,""#HTML_GREEN"INFO | "#HTML_WHITE"Vorgang Abgebrochen");
KickEx(playerid);
}
}else if(dialogid==DIALOG_LOGIN){
if(response==1){
if(!strlen(inputtext)){
if(GetPVarInt(playerid,"failpass")==2){
SendClientMessage(playerid,ROT,"* Du hast zu oft ein falsches Passwort angegeben.");
KickEx(playerid);
}else{
SetPVarInt(playerid,"failpass",GetPVarInt(playerid,"failpass")+1);
ShowPlayerDialogEx(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Login","{FFD700}Falsches Passwort\n\n{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde in unsere Datenbank gefunden.\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen");
new str[128];
format(str, sizeof(str), "IP %s hat sich versucht in den Account [user]%i[/user] einzuloggen.",ipinfo[playerid][ip__], GetPVarInt(playerid, "accountid"));
Log(str, 30);
}
}else{
new name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid, name, sizeof(name));
new query[128];
mysql_format(mysql, query, sizeof(query), "SELECT passwort FROM accounts WHERE name = '%e'", name);
mysql_tquery(mysql, query, "OnAccountCheckPW", "iss", playerid, name, inputtext);
}
}else{
SendClientMessage(playerid,ROT,"* Vorgang abgebrochen.");
KickEx(playerid);
}
Alles anzeigen
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team
[17:06:55]
[17:06:55] Server Plugins
[17:06:55] --------------
[17:06:55] Loading plugin: crashdetect.so
[17:06:55] CrashDetect v4.15.1 is OK.
[17:06:55] Loaded.
[17:06:55] Loading plugin: mysql.so
[17:06:55] >> plugin.mysql: R39-5 successfully loaded.
[17:06:55] Loaded.
[17:06:55] Loading plugin: sscanf.so
[17:06:55]
[17:06:55] ===============================
[17:06:55] sscanf plugin loaded.
[17:06:55] Version: 2.8.2
[17:06:55] (c) 2012 Alex "Y_Less" Cole
[17:06:55] ===============================
[17:06:55] Loaded.
[17:06:55] Loading plugin: streamer.so
[17:06:55]
*** Streamer Plugin v2.9.6 by Incognito loaded ***
[17:06:55] Loaded.
[17:06:55] Loading plugin: Whirlpool.so
[17:06:55]
[17:06:55] ==================
[17:06:55]
[17:06:55] Whirlpool loaded
[17:06:55]
[17:06:55] ==================
[17:06:55]
[17:06:55] Loaded.
[17:06:55] Loading plugin: sampcac_server.so
[17:06:55] SA-MP Clientside AntiCheat v0.10.0 is being loaded ...
[17:06:55] Loaded.
[17:06:55] Loaded 6 plugins.
[17:06:55]
[17:06:55] Filterscripts
[17:06:55] ---------------
[17:06:55] Loading filterscript 'antirire.amx'...
[17:06:55] Unable to load filterscript 'antirire.amx'.
[17:06:55] Loading filterscript 'announce.amx'...
[17:06:55] [SACNR Monitor] Announcing server...
[17:06:55] Loading filterscript 'rconCP.amx'...
[17:06:55] Loaded 2 filterscripts.
[17:06:55] SAMPCAC include file version (v0.00.0) does not match plugin version (v0.10.0) (script might need to be recompiled with the correct include file).
[17:06:55]
[17:06:55]
[17:06:55]
[17:06:55] =======================================
[17:06:55] | |
[17:06:55] | YSI version 4.00.0001 |
[17:06:55] | By Alex "Y_Less" Cole |
[17:06:55] | |
[17:06:55] =======================================
[17:06:55]
[17:06:55] KONNTE SICH MIT DER DATENBANK VERBINDEN!
[17:06:55] ----------------------------------
[17:06:55] Calikartell-Deathmatch - Script
[17:06:55] ----------------------------------
[17:06:55] Number of vehicle models: 15
[17:06:55] [MYSQL] Gates wurden Erfolgreich geladen.(1)
[17:06:55] [MYSQL] OBJECTE wurden Erfolgreich geladen.(2)
[17:06:55] [MYSQL] PICKUPS wurden Erfolgreich geladen.(0)
[17:06:55] [MYSQL] LABELS wurden Erfolgreich geladen.(0)
[17:07:30] [connection] MEINEIPADRESSE requests connection cookie.
[17:07:31] [connection] incoming connection: MEINEIPADRESSE id: 0
[17:07:31] [join] Kobiro has joined the server (0:MEINEIPADRESSE)
[17:07:41] [part] Kobiro has left the server (0:2)
Alles anzeigen
forward OnPlayerCheckAccount(playerid, name[]);
public OnPlayerCheckAccount(playerid, name[]){
new rows, fields;
cache_get_data(rows, fields, mysql);
if(rows){
new tmpname[MAX_PLAYER_NAME+1], string[128];
cache_get_field_content(0, "name", tmpname, mysql);
if(strcmp(SpielerName(playerid), tmpname, false)){
format(string, sizeof(string), "* Der Accountname wurde nicht richtig geschrieben. Richtige Schreibweise: %s", tmpname);
SendClientMessage(playerid, ROT, string);
KickEx(playerid);
}
SetPVarInt(playerid, "accountid", cache_get_field_content_int(0, "id", mysql));
new duration = cache_get_field_content_int(0, "tban", mysql);
format(string, sizeof(string), "[user]%i[/user] hat den Server betreten. (IP: %s)", GetPVarInt(playerid, "accountid"), ipinfo[playerid][ip__]);
Log(string, 6);
if(cache_get_field_content_int(0, "banned", mysql) == 1){
new banmsg[500], banreason[64], banadmin[MAX_PLAYER_NAME+1];
cache_get_field_content(0, "banadmin", banadmin, mysql);
cache_get_field_content(0, "bangrund", banreason, mysql);
format(string,sizeof(string),"* %s wurde vom Server gekickt, Grund: Account-Ban",name);
SendClientMessageToAll(ROT,string);
format(banmsg,sizeof(banmsg),"Dieser Account wurde von Calikartell-Deathmatch gebannt.\nIst das nicht dein Account, dann beende das Spiel und such dir einen anderen Namen aus.\nWenn dass dein Account ist, und du zu unrecht gebannt wurdest, erstelle einen Entbann Antrag im Forum.\n\n\nausführender Admin: %s\nGrund: %s\nDauer: Permanent\n",banadmin,banreason);
ShowPlayerDialogEx(playerid,DIALOG_BANNED,DIALOG_STYLE_MSGBOX,"Calikartell-Deathmatch - Account Gebannt",banmsg,"OK","");
KickEx(playerid);
return 1;
}else if(duration > gettime()){
new tbanadmin[MAX_PLAYER_NAME+1], tbanreason[64];
cache_get_field_content(0, "tbanadmin", tbanadmin, mysql);
cache_get_field_content(0, "tbanreason", tbanreason, mysql);
format(string,sizeof(string),"* %s wurde vom Server gekickt, Grund: Time-Ban",name);
SendClientMessageToAll(ROT,string);
new string2[360];
format(string2,sizeof(string2),"Dieser Account wurde von Calikartell-Deathmatch gebannt.\nIst das nicht dein Account, dann beende das Spiel und such dir einen anderen Namen aus.\nWenn dass dein Account ist, und du zu unrecht gebannt wurdest, erstelle einen Entbann Antrag im Forum.\n\n\nausführender Admin: %s\nGrund: %s\nDauer: %s\n",tbanadmin,tbanreason,returnDate(duration));
ShowPlayerDialogEx(playerid, DIALOG_BANNED, DIALOG_STYLE_MSGBOX, "Calikartell-Deathmatch - Account gebannt", string2, "Schließen", "");
KickEx(playerid);
return 1;
}else{
ShowPlayerDialogEx(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Login","{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde in unsere Datenbank gefunden.\nDu kannst dich nun mit deinen Passwort einloggen.","Login","Abbrechen");
}
}else{
ShowPlayerDialogEx(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Calikartell-Deathmatch - Registrieren","{B9B9BF}Herzlich Willkommen auf Calikartell-Deathmatch\n\nDein Account wurde nicht in unserer Datenbank gefunden.\nDu kannst dir nun einen Account mit einem Passwort anlegen.","Registrieren","Abbrechen");
}
ShowClanZoneForPlayer(playerid);
SetPlayerTeam(playerid,NO_TEAM);
return 1;
}
forward OnPlayerConnectEx(playerid);
public OnPlayerConnectEx(playerid){
new name[MAX_PLAYER_NAME+1];
GetPlayerName(playerid,name,sizeof(name));
ClearChatForPlayer(playerid,20);
SetPlayerVirtualWorld(playerid,playerid+33);
SetPlayerPosEx(playerid,1106.5566,-1796.5233,16.5999);
InterpolateCameraPos(playerid, 1067.722412, -1796.464477, 37.472873, 1082.501831, -1802.785034, 31.697965, 3000);
InterpolateCameraLookAt(playerid, 1072.492309, -1796.505371, 35.973899, 1087.259399, -1802.120971, 30.310689, 2000);
GangZoneShowForPlayer(playerid, NoDMGangZone, 0xFF0000D2);
new query[256];
mysql_format(mysql, query, sizeof(query), "SELECT * FROM accounts WHERE name = '%e'", name);
mysql_tquery(mysql, query, "OnPlayerCheckAccount", "is", playerid, name);
/*new geo_countrycode[12];
GetPVarString(playerid, "geo_countrycode", geo_countrycode, sizeof(geo_countrycode));
if(!strcmp(geo_countrycode, "DE", true) || !strcmp(geo_countrycode, "AT", true) || !strcmp(geo_countrycode, "CH", true) || !strcmp(geo_countrycode, "N/A", true)){
OnPlayerGEO(playerid, name, 1);
}else{
new query[256];
mysql_format(mysql, query, sizeof(query), "SELECT * FROM geoWhitelist WHERE name = '%e'", name);
mysql_tquery(mysql, query, "OnGeoWhitelistCheck", "is", playerid, name);
}*/
return 1;
}
forward OnPlayerCheckConnectMessages(playerid, name[], playerIP[]);
public OnPlayerCheckConnectMessages(playerid, name[], playerIP[]){
new rows, fields, uc, str[128];
cache_get_data(rows, fields, mysql);
if(rows){
uc = cache_get_field_content_int(0, "undercover", mysql);
}else{
uc = 0;
}
for(new i=0;i<MAX_PLAYERS;i++){
if(!IsPlayerConnected(i))continue;
if(GetPVarInt(i,"messages")!=1){
if(IsPlayerAnAdmin(i,1) && GetPVarInt(i, "togip") != 1){
if(uc == 1){
new ucIP[32];
for(new x = 1; x<5; x++){
new rand = random(255);
if(x == 1){
format(ucIP, sizeof(ucIP), "%i", rand);
}else{
format(ucIP, sizeof(ucIP), "%s.%i", ucIP, rand);
}
}
format(str, sizeof(str), "* %s hat den Server betreten. ID: %i, IP: %s",name,playerid,ucIP);
}else{
format(str, sizeof(str), "* %s hat den Server betreten. ID: %i, IP: %s",name,playerid,playerIP);
}
SendClientMessage(i,GRUEN,str);
}else{
format(str,sizeof(str),"* %s hat den Server betreten. ID: %i",name,playerid);
SendClientMessage(i,GRUEN,str);
}
}
}
return 1;
}
public OnPlayerConnect(playerid){
RandomMusic(playerid);
if(IsPlayerNPC(playerid))return 1;
new playerIP[24],string[128];
GetPlayerIp(playerid, playerIP, sizeof(playerIP));
if(!strcmp(antiFlood[floodAdress], playerIP, false)){
if((antiFlood[floodTime] + 3) > gettime()){
format(string, sizeof(string), "Server hat die IP %s gebannt. (Grund: Login Flood)",playerIP);
Log(string, 4, 5);
Ban(playerid);
return 1;
}
}
antiFlood[floodTime] = gettime();
format(antiFlood[floodAdress], 24, "%s", playerIP);
SetPVarInt(playerid, "isPlayerConnected", 1);
//geo_fetch_data(playerid, playerIP, "OnPlayerReceiveGEOData");
new name[32];
GetPlayerName(playerid,name,sizeof(name));
GameTextForPlayer(playerid, "Calikartell-Deathmatch wird geladen...", 2750, 3);
new query[256];
mysql_format(mysql, query, sizeof(query), "UPDATE accounts SET connected = 1 WHERE name = '%e'", name);
mysql_tquery(mysql, query);
ipinfo[playerid][ip__]=playerIP;
ClearChatForPlayer(playerid,20);
SetPlayerColor(playerid,PLAYER_COLOR_GRAU);
SetPVarInt(playerid,"tpanfrage",-1);
mysql_format(mysql, query, sizeof(query), "SELECT * FROM accounts WHERE name = '%e'", name);
mysql_tquery(mysql, query, "OnPlayerCheckConnectMessages", "iss", playerid, name, playerIP);
Alles anzeigen
Das ist kein Fehler. Ich habe testweise einige Filterscripts rausgenommen darunter auch die announce.amx
Bezüglich Fehler im Code, wäre es hilfreich zu sagen, welchen Code du brauchst um mir helfen zu können.
Nabend Brotfische,
hab momentan das Problem, dass wenn ich versuche auf den Server zu joinen, ich einen Login/Registerfenster bekomme, aber bei Eingabe eines Passwortes nichts passiert.
Der Server verbindet sich laut serverlog erfolgreich mit der Datenbank. Auch über Phpmyadmin sind alle Tabellen vorhanden.
Hat jemand eine Idee woran das liegen könnte? Vermute irgendwas mit Callback oder Query, aber finde es nicht
SA-MP Dedicated Server
----------------------
v0.3.7-R2, (C)2005-2015 SA-MP Team
[00:37:42]
[00:37:42] Server Plugins
[00:37:42] --------------
[00:37:42] Loading plugin: crashdetect.so
[00:37:42] CrashDetect v4.15.1 is OK.
[00:37:42] Loaded.
[00:37:42] Loading plugin: mysql.so
[00:37:42] >> plugin.mysql: R39-5 successfully loaded.
[00:37:42] Loaded.
[00:37:42] Loading plugin: sscanf.so
[00:37:42]
[00:37:42] ===============================
[00:37:42] sscanf plugin loaded.
[00:37:42] Version: 2.8.2
[00:37:42] (c) 2012 Alex "Y_Less" Cole
[00:37:42] ===============================
[00:37:42] Loaded.
[00:37:42] Loading plugin: streamer.so
[00:37:42]
*** Streamer Plugin v2.9.6 by Incognito loaded ***
[00:37:42] Loaded.
[00:37:42] Loading plugin: Whirlpool.so
[00:37:42]
[00:37:42] ==================
[00:37:42]
[00:37:42] Whirlpool loaded
[00:37:42]
[00:37:42] ==================
[00:37:42]
[00:37:42] Loaded.
[00:37:42] Loading plugin: sampcac_server.so
[00:37:42] SA-MP Clientside AntiCheat v0.10.0 is being loaded ...
[00:37:42] Loaded.
[00:37:42] Loaded 6 plugins.
[00:37:42]
[00:37:42] Filterscripts
[00:37:42] ---------------
[00:37:42] Loading filterscript 'antirire.amx'...
[00:37:42] Unable to load filterscript 'antirire.amx'.
[00:37:42] Loading filterscript 'announce.amx'...
[00:37:42] [SACNR Monitor] Announcing server...
[00:37:42] Loading filterscript 'rconCP.amx'...
[00:37:42] Loaded 2 filterscripts.
[00:37:42] SAMPCAC include file version (v0.00.0) does not match plugin version (v0.10.0) (script might need to be recompiled with the correct include file).
[00:37:42]
[00:37:42]
[00:37:42]
[00:37:42] =======================================
[00:37:42] | |
[00:37:42] | YSI version 4.00.0001 |
[00:37:42] | By Alex "Y_Less" Cole |
[00:37:42] | |
[00:37:42] =======================================
[00:37:42]
[00:37:42] KONNTE SICH MIT DER DATENBANK VERBINDEN!
[00:37:42] ----------------------------------
[00:37:42] CalikartellDM - Script
[00:37:42] ----------------------------------
[00:37:42] Number of vehicle models: 15
[00:37:42] [SACNR Monitor] Server failed to announce: HTTP_ERROR_BAD_HOST
[00:37:42] [MYSQL] Gates wurden Erfolgreich geladen.(1)
[00:37:42] [MYSQL] OBJECTE wurden Erfolgreich geladen.(2)
[00:37:42] [MYSQL] PICKUPS wurden Erfolgreich geladen.(0)
[00:37:42] [MYSQL] LABELS wurden Erfolgreich geladen.(0)
Alles anzeigen
Maahlzeit,
hab aktuell das Problem, dass wenn ich meinen SAMP Server (0.3.7 Linux VPS) starte, er sich nach kurzer Zeit wieder beendet.
(Testweise den Standard Grand Larceny Gamemode drin)
Setup:
Debian VPS
Samp 0.3.7 Server
Port: 7777
SA-MP Dedicated Server
v0.3.7, (C)2005-2015 SA-MP Team
[21:56:47] filterscripts = "" (string)
[21:56:47] Loaded 0 plugins.
[21:56:47] Loaded 0 filterscripts.
[21:56:47] Running Grand Larceny - by the SA-MP team
[21:57:14] --- Server Shutting Down.
Problem aktuell ist:
Server startet
Gamemode wird geladen
danach sofort Shutdown
kein fehler im Log sichtbar außer shutdown
Was bereits geprüft wurde:
ob Server.cfg korrekt ist (port, rcon pw, etc.)
Gamemode datei vorhanden (grandlarc.amx)
Falls jemand Erfahrung mit SAMP Linux hat, würde ich mich sehr über Hilfe freuen.
Gerne auch über Discord
Vielen Dank im Voraus KUSS
//EDIT: Hab im vServer vergessen bei der Firewall Port 7777 zuzulassen. Problem gelöst