Çözüldü Admin Tool Ban System problem

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

maradona150

Üye
Üye
Mesaj
90
Çözümler
1
Beğeni
41
Puan
339
Ticaret Puanı
0
I've installed this system and it's good
But the problem is when I block anyone
This message comes

I think the problem is with the MySQL
Because when I did a reboot
tool_ban in Navi Cat does not open
 

Dosya Eklentileri

  • as.webp
    as.webp
    12,9 KB · Gösterim: 304
  • as2.webp
    as2.webp
    5,1 KB · Gösterim: 250
SYSERR: Sep 4 07: 40: 01.927340 :: pid_init:
Start of pid: 722

SYSERR: Sep 4 07: 40: 01.927433 :: Start: TABLE_POSTFIX not configured use default
SYSERR: Sep 4 07: 40: 05.920332 :: Load: DirectQuery failed (SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry)
SYSERR: Sep 4 07: 40: 12.633911 :: __GetHostInfo: __GetHostInfo () ==> DirectQuery failed (SELECT mIP FROM gmhost)
SYSERR: Sep 4 07: 40: 17.328241 :: __GetHostInfo: __GetHostInfo () ==> DirectQuery failed (SELECT mIP FROM gmhost)
 
channel syserr is empty

and this mysql

(Table account) run this:

SQL:
Genişlet Daralt Kopyala
ALTER TABLE `account`
ADD COLUMN `ban_reason` varchar (256) DEFAULT NULL AFTER` referrer_link`;

(Table log) run this:

SET FOREIGN_KEY_CHECKS = 0;
- ----------------------------
- Table structure for `tool_ban`
- ----------------------------
DROP TABLE IF EXISTS `tool_ban`;
CREATE TABLE `tool_ban` (
  `id` int (11) NOT NULL AUTO_INCREMENT,
  `who` varchar (12) NOT NULL,
  `action` varchar (32) NOT NULL,
  `victim` varchar (12) NOT NULL,
  `reason` varchar (128) NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 17 DEFAULT CHARSET = latin1;

- ----------------------------
- Records of tool_ban
- ----------------------------
INSERT INTO `tool_ban` VALUES ('1', '[DEV] VegaS', 'ACTION_BAN_IP', 'Work', 'Hack / Damage / DonaldTrump shits ...', '2017-03-09 01:12:14' );
INSERT INTO `tool_ban` VALUES ('2', '[DEV] VegaS', 'ACTION_BAN_PERMANENTLY', 'TestSkill', 'Hack / Damage / DonaldTrump shits ...', '2017-03-09 01:12:31' );
INSERT INTO `tool_ban` VALUES ('3', '[DEV] VegaS', 'ACTION_BAN_TIME', 'Work', 'Hack / Damage / DonaldTrump shits ...', '2017-03-09 01:12:43' );
INSERT INTO `tool_ban` VALUES ('4', '[DEV] VegaS', 'ACTION_BAN_PERMANENTLY', 'Work', 'Hack / Damage / DonaldTrump shits ...', '2017-03-09 01:15:43' );
INSERT INTO `tool_ban` VALUES ('5', '[DEV] VegaS', 'ACTION_BAN_IP', 'Work', 'Reason', '2017-03-09 01:40:17');
INSERT INTO `tool_ban` VALUES ('6', '[DEV] VegaS', 'ACTION_BAN_PERMANENTLY', 'Work', 'Reason', '2017-03-09 01:40:21');
INSERT INTO `tool_ban` VALUES ('8', '[DEV] VegaS', 'ACTION_BAN_IP', 'Work', 'Type reason.', '2017-03-09 01:48:44');
 
En son bir moderatör tarafından düzenlenmiş:
Were there any syserr in your db doc. before you add the system? If there were which one did you have ?' this one SYSERR: Sep 4 07: 40: 01.927433 :: Start: TABLE_POSTFIX not configured use default ' or ' SYSERR: Sep 4 07: 40: 12.633911 :: __GetHostInfo: __GetHostInfo () ==> DirectQuery failed (SELECT mIP FROM gmhost) '

for the first syserr ( I am not sure. İt should be checked by the admin.)

Your system has a lots of query . For example

Kod:
Genişlet Daralt Kopyala
    std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT account_id FROM player.player WHERE name = '%s'", c_szName));

When you write the query, the system has a lot of rule . For example after some name of the databases, you must use some function which is GetTablePostfix(). Example ;

C++:
Genişlet Daralt Kopyala
    std::auto_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT account_id FROM player.player%s WHERE name = '%s'" GetTablePostfix(), c_szName));



for the second syserr
Connect your database via navicat. Click "common" db > and open the "gmhost" table. > Add record symbol (+) which is located down-left side of the framework. Enter this IP "127.0.0.1". Save and exit.

@Whistle adminim sistemin kodlarını farklı forumdan indirip inceledim. Herhangi bir problem göremedim. Aklıma yukarıda yazdığım durum geldi. Kontrol eder misiniz ?
 
@maradona150 , Change InnoDB to MyISAM


@Whistle adminim sistemin kodlarını farklı forumdan indirip inceledim. Herhangi bir problem göremedim. Aklıma yukarıda yazdığım durum geldi. Kontrol eder misiniz ?
Aslında bu değişikliği yapmasına gerek yok. :)
gmhost syserr hatası önemli bir şey değil. Eklenen gmye ip tanımlı olmadığını söylüyor.

Postfix ile ilgili verdiği hata ise fazla önemli değil. Conf.txt’ye TABLE_POSTFIX tanımlaması yeterli olur. Tanımlamasa da sistemin çalışmasına engel olmaz. Zaten varsayılan değeri giriyor otomatik.
 
Mesaj kalabilir. İsteyen o hataları çözmek için kullanabilir. :) Ekstra bilgiden bir şey olmaz. Bende bi önceki mesajımı düzenledim. Biraz daha detay yazdım.
 
Instead of replacing it, try to delete the table completely (WITH DROP TABLE) and recreate it in MyISAM type.
You can edit the ENGINE = InnoDB part in SQL code and run it.
 
Try searching the folder with the system for the error you got. Seeing in which code block is giving this error may be a guide.
In the Ban Tool System folder, search for the error you got on the chat screen with Notepad++
 
/var/db/mysql/log

upload and reboot these files
 

Dosya Eklentileri

Is ban_reason attached to the account table?
 
Yes, but I did this step more than once
Could it be wrong with it?
 

Dosya Eklentileri

  • banreason.webp
    banreason.webp
    23,3 KB · Gösterim: 237
  • banreason2.webp
    banreason2.webp
    23,4 KB · Gösterim: 202
input_main.cpp file;

C++:
Genişlet Daralt Kopyala
bool CheckIsStaffAdmin(LPCHARACTER ch)
{
    const char* arListMembers[] =
    {
        "[DEV]VegaS",
        "Slot 2",
        "Slot 3",
        "Slot 4",
        "Slot 5",
        "Slot 6"
    };

In the section you need to enter the name of GM characters.
GM characters without a name here cannot use the system.
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst