Habe ein Riesen Problem

12/20/2014 00:49 *.Creatic.*#1
Hallo undzwar habe ich ein Problem, was ich leider nicht gefixxt bekomme, meine User bekommen ab und zu Yang verluste, dass heißt ( Sie werden gekickt, loggen sich ein und es fehlt yang ) mein verdacht ist es, dass die datenbank es nicht schnell speichert, aber daran kann es nicht liegen, weil die so um die 300-800kk immer verlieren.. vllt kann mir ja jemand helfen.

Mfg
12/20/2014 13:19 *.Creatic.*#2
Mir crasht der Server nicht ab, server ist dauerhaft online und ein core restart script hab ich auch nicht.. in der syserr steht nix drin.
12/20/2014 15:12 Alergix2#3
schau mal im Auth & db ordner nach was die Syserr sagt
es kann villeicht an der DB liegen oderso.
12/20/2014 15:23 .Colossus.#4
MySQL connections hochgeschraubt?
Wenn ja poste mal deine mysql config
12/21/2014 16:56 *.Creatic.*#5
Also DB Syserr:

SYSERR: Dec 20 16:48:05 :: Update: cannot update marriage : PID:58858 58859
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-15000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 15000000, 30516) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 30519) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 30520) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 2885681152) errno: 1062)
SYSERR: Dec 20 16:49:05 :: Update: cannot update marriage : PID:58858 58859
SYSERR: Dec 20 16:52:09 :: Update: cannot update marriage : PID:58858 58859


steht sowas z.b
12/21/2014 16:58 .Marcel'#6
Quote:
Originally Posted by *.Creatic.* View Post
Also DB Syserr:

SYSERR: Dec 20 16:48:05 :: Update: cannot update marriage : PID:58858 58859
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-15000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 15000000, 30516) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 30519) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 30520) errno: 1062)
SYSERR: Dec 20 16:48:05 :: ChildLoop: AsyncSQL: query failed: Duplicate entry '58635-10000000' for key 'list_id' (query: INSERT INTO myshop_pricelist(owner_id, item_vnum, price) VALUES(58635, 10000000, 2885681152) errno: 1062)
SYSERR: Dec 20 16:49:05 :: Update: cannot update marriage : PID:58858 58859
SYSERR: Dec 20 16:52:09 :: Update: cannot update marriage : PID:58858 58859


steht sowas z.b
Doppelte Einträge kann es nicht geben. Daher kommt der Fehler.


Quote:
Originally Posted by hen! View Post
Das ist eine unsaubere Lösung und kann zu Problemen führen da der Client meines Wissens nach alle Items über VNUM 2,147kkk nicht darstellt. Die technischen Hintergründe hierfür lasse ich an dieser Stelle mal aus.

korrekt wär es so:

Code:
SELECT * FROM player.item ORDER by id DESC LIMIT 10;
-> Gucken was die höchste ID ist wenns 4294967295 o.ä. ist diese löschen und überprüfen ob die höchste ID, welche danach folgt auch so hoch ist oder in einem normalen bereich liegt (bis 1,8kkk z. B.).

Anschließend muss der AUTO_INCREMENT-Wert angepasst werden.

Code:
ALTER TABLE player.item AUTO_INCREMENT = 1,9kkk;
-> Sollte außerhalb des Bereiches des Servers liegen damit bei der Webseite keine Duplicate Keys kommen, wenn man ein Item einkauft und die ID bereits vom Server belegt wurde.

(Glaube die ID-Ranges in den SF entsprechen dem "adressierbaren" Bereich den der Server in player.item bekommt.)
12/21/2014 17:21 .Enctype™#7
easy, deine log tabellen sind am arsch.
meld dich mal bei mir ich helf dir ;)