Да си защитим ника си в цс!

Колкото и да е лудо.. споделете го с нас!
Потребителски аватар
Damqn
Пристрастен
Мнения: 156
Регистриран: 08.09.2011, 16:56
Мишка: Made in China
Ник в CS: shooter®
Местоположение: обл. Варна
Контакти:

Да си защитим ника си в цс!

Мнение от Damqn »

Искам да попитам дали може да се сложи парола на никовете в цс защото има хора , които
им харесват да имитирват никове , което ме довеждат , че това е подигравка и т.н.
Във смисал те развалят репотацията на тези които са си го исмислили дето тези ,които са се потрудели така де !
има куп такива случай ... развалят ранк статс .. така пак всеки да се регистира в саита да сложи парола на ника си и няма да има злоупотреба ! :) и мисля , че ще сте заинтересувани от Тема която е предложих . Така играчите ще знаят , че ника им е защитен !
Животът е твърде важен за да го взимаме насериозно.Изображение

napafkan
Ex-CS Admin
Мнения: 94
Регистриран: 15.04.2011, 02:24
Мишка: 1.5
Ник в CS: az sam si obiknoven 4ovek sam si
Местоположение: Bourgas moreto be :P

Re: Да си защитим ника си във цс !!!

Мнение от napafkan »

Само ако си админ си в сървъра си можеш да си сложиш парола на ника си :)
I never lie, even when I tell the truth :D
ИзображениеИзображение

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Да си защитим ника си във цс !!!

Мнение от 2GOOD »

Имаме идея в по-далечно бъдеще да се предложи защита на ника директно от сайта от профила си да си избираш ник и парола, най-вероятно от тази екстра ще могат да се възползват по активните във форума. Но това няма да стане в близките 2-3 месеца.

Потребителски аватар
Style
Ex-CS Admin
Мнения: 842
Регистриран: 17.08.2011, 23:49
Мишка: X-760H
Местоположение: Made In China.
Контакти:

Re: Да си защитим ника си във цс !!!

Мнение от Style »

2GOOD написа:Имаме идея в по-далечно бъдеще да се предложи защита на ника директно от сайта от профила си да си избираш ник и парола, най-вероятно от тази екстра ще могат да се възползват по активните във форума. Но това няма да стане в близките 2-3 месеца.

Идеята ти е добра, другия вариант е да сложим 1 плъгин, който един фр направи за 1 друга верига:
като влезеш с определен ник ти иска парола и ако не я знаеш те киква... естествено можеш да си я сменяш от сървъра и т.н, но това с форума по ме радва :dance:

blind88
CS Admin, Jr.
Мнения: 54
Регистриран: 11.05.2011, 08:45

Re: Да си защитим ника си във цс !!!

Мнение от blind88 »

Да, наистина ще е много добре да има защита, всеки да се знае :)
Много мразя, когато някой се пише като мене. Не че е забранено, ама не ми е приятно :)
Поне до сега във вашите сървъри съм нямал проблем :wink:

xda
Новак
Мнения: 19
Регистриран: 29.01.2012, 11:36
Мишка: Basic Optical Mouse
Ник в CS: xda
Местоположение: София

Re: Да си защитим ника си в цс!

Мнение от xda »

На първо време може да се направи лист с ник и съответно айпи. Проблема е за тези с динамичните...

Това е скрип за сорс от http://alliedmods.org. Трябват му няколко промени.

PHP code

Код: Избери всички

#include <sourcemod>
#include "dbi.inc"
#include <sdktools>

public Plugin:myinfo = 
{
    name = "Register nick",
    author = "allied",
    description = "Lets players register there nicknames.",
    version = "0.1",
    url = "http://alliedmods.org"
}

new Handle:Database = INVALID_HANDLE;
new Handle:CVar_rn_debug = INVALID_HANDLE;
new Handle:CVar_rn_use_ip = INVALID_HANDLE;
new Handle:CVar_rn_reserve = INVALID_HANDLE;
new Handle:Admin = INVALID_HANDLE;
new String:logFile[1024];
new String:AdminFile[1024];
new bool:rlogsenabled = false;
new bool:useip = false;
new bool:reserveslot = false;

public OnPluginStart()
{
    BuildPath(Path_SM, logFile, sizeof(logFile), "logs/css_clients.log");

    SQL_TConnect(GotDatabase, "css_clients");
    RegConsoleCmd("say", Command_Say);
    RegConsoleCmd("say_team", Command_Say);
    if (!HookEventEx("player_changename", EventNameChange))
    {
        LogToFile(logFile, "Unable to hook player_changename");
    }

    CVar_rn_debug = CreateConVar("rn_debug_enabled", "0", "loging.");
    CVar_rn_use_ip = CreateConVar("rn_use_ip", "0", "Uses ip instead of steamid.");
    CVar_rn_reserve = CreateConVar("rn_reserveslot", "0", "Give registered users reserved slots.");
}

public GotDatabase(Handle:owner, Handle:hndl, const String:error[], any:data) 
{
    if (hndl == INVALID_HANDLE)
    {
        LogToFile(logFile, "Query Failed GotDatabase Could not connect to the Database: %s", error);
    }
    else 
    {
        Database = hndl;
        InsertDB();
    }    
}

InsertDB()
{
    decl String:driver[64];
    SQL_ReadDriver(Database, driver, sizeof(driver));
    decl String:query[1024];
    if (strcmp(driver, "sqlite", false) == 0)
    {
        query = "CREATE TABLE IF NOT EXISTS css_clients ( \
                    ingamenick TEXT NOT NULL, \
                    steam TEXT PRIMARY KEY ON CONFLICT REPLACE);";
    }
    else
    {
        query = "CREATE TABLE IF NOT EXISTS css_clients ( \
                    ingamenick VARCHAR(50) NOT NULL , \
                    steam VARCHAR(50) NOT NULL , \
                 PRIMARY KEY (steam) ) \
                 ENGINE = InnoDB;";
    }            
    SQL_TQuery(Database, T_Generic, query);    
}

public T_Generic(Handle:owner, Handle:hndl, const String:error[], any:data)
{
    if (hndl == INVALID_HANDLE)
    {
        LogToFile(logFile, "Query Failed T_generic: %s", error);
    }
}

public OnMapStart()
{
    if (GetConVarInt(CVar_rn_debug) == 1)
    {
        rlogsenabled = true;
    }
    if (GetConVarInt(CVar_rn_use_ip) == 1)
    {
        useip = true;
    }
    if (GetConVarInt(CVar_rn_reserve) == 1)
    {
        reserveslot = true;
    }    
}

public OnClientAuthorized(client, const String:auth[])
{
    decl String:name[50];
    decl String:q_name[101];
    decl String:query[256];

    GetClientName(client, name, sizeof(name));

    SQL_EscapeString(Database, name, q_name, sizeof(q_name));

    Format(query, sizeof(query), "SELECT `full_nick`, `password`, `privileges`, `flags` FROM `css_clients` WHERE `activated`='1' and `nickbanned`='0'");
    SQL_TQuery(Database, T_CheckName, query, client);

    if ( rlogsenabled )
    {
        LogToFile(logFile, "Checking data base for %s", name);
    }
}

public T_CheckName(Handle:owner, Handle:hndl, const String:error[], any:data)
{
    if (hndl == INVALID_HANDLE)
    {
        LogToFile(logFile, "Query Failed T_CheckName: %s", error);
        return;
    }
    if (SQL_FetchRow(hndl))
    {    
        decl String:name[50];
        GetClientName(data, name, sizeof(name));
        if (rlogsenabled)
        {
            LogToFile(logFile, "The name %s was found", name);
        }
        decl String:steam[100];
        decl String:s_steam[201];
        if (useip)
        {
            GetClientIP(data, steam, sizeof(steam));
        }
        else
        {
            GetClientAuthString(data, steam, sizeof(steam));
        }
        if (rlogsenabled)
        {
            LogToFile(logFile, "Checking to make sure %s can have nick %s", steam, name);
        }
        SQL_FetchString(hndl, 1, s_steam, sizeof(s_steam));
        if (StrEqual(steam, s_steam) == false)
        {
            CreateTimer(10.0, ChangeName, data);
            if (rlogsenabled)
            {
                LogToFile(logFile, "Changing %s name in 10 sec", steam);
            }
        }
        else
        {
            if (rlogsenabled)
            {
                LogToFile(logFile, "%s has access to have the nick %s", steam, name);
            }
        }
    }
}

public EventNameChange( Handle:event, const String:name[], bool:dontBroadcast )
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    
    if ( !client || !IsClientConnected( client ) || IsClientInKickQueue( client ) || IsFakeClient( client ) )
    {
        return;
    }
    
    decl String:newName[64];
    decl String:q_newName[130];
    decl String:query[256];

    GetEventString(event, "newname", newName, sizeof(newName));
    SQL_EscapeString(Database, newName, q_newName, sizeof(q_newName));
    Format(query, sizeof(query), "SELECT * FROM `css_clients` WHERE `full_nick` = '%s'", q_newName);
    SQL_TQuery(Database, T_CheckName, query, client);

    if ( rlogsenabled )
    {
        decl String:steam[100];

        if ( useip )
        {
            GetClientIP(client, steam, sizeof(steam));
        }
        else
        {
            GetClientAuthString(client, steam, sizeof(steam));
        }
        LogToFile(logFile, "%s changed his name to %s and we are checking to see if it is registered", steam, q_newName);
    }
}  

А това е кода за базата. Това е ако я няма. Иначе ще се връзва с тази на сайта.

Код: Избери всички

CREATE TABLE IF NOT EXISTS `css_clients` (
  `id` int(11) NOT NULL auto_increment,
  `nick` varchar(15) collate utf8_lithuanian_ci NOT NULL,
  `full_nick` varchar(32) collate utf8_lithuanian_ci NOT NULL,
  `password` varchar(34) collate utf8_lithuanian_ci NOT NULL,
  `privileges` varchar(32) collate utf8_lithuanian_ci NOT NULL,
  `flags` varchar(2) collate utf8_lithuanian_ci NOT NULL default 'a',
  `email` varchar(32) collate utf8_lithuanian_ci NOT NULL,
  `buy_date` date default NULL,
  `reg_date` date NOT NULL,
  `credits` int(32) NOT NULL default '0',
  `warnings` int(1) NOT NULL default '0',
  `banned` int(1) NOT NULL default '0',
  `activated` int(1) NOT NULL default '0',
  `admin` int(1) NOT NULL default '0',
  `ip` varchar(15) collate utf8_lithuanian_ci NOT NULL default '000.000.000.000',
  `language` varchar(2) collate utf8_lithuanian_ci NOT NULL,
  `question` varchar(32) collate utf8_lithuanian_ci NOT NULL,
  `answer` varchar(32) collate utf8_lithuanian_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_lithuanian_ci COMMENT='Source Mod Admins' AUTO_INCREMENT=1;  

xda
Новак
Мнения: 19
Регистриран: 29.01.2012, 11:36
Мишка: Basic Optical Mouse
Ник в CS: xda
Местоположение: София

Re: Да си защитим ника си в цс!

Мнение от xda »

Още нещичко

TRS Registration System
[ Download from this server (14.9Kb) ] 16.10.2011, 12:10
* Description:
This plugin allows you to register the player on your CS 1.6 server.
For example, for WAR3FT server or other mods, the point is not to steal nick.
You can register the game by typing in the chat command / reg.
Or from the site (File reg.php)

The player does not have anything to prescribe for authorization on the server.
For example if register a player enters the server, it changes nickname to [Not loggeg] $ playername $
and motd window appears, where he offers to authenticate when a player enters the correct password and nickname for
he now plays, he wrote \ "You are logged. Press Enter \", the player closes the window, the following
round the player is changing nick on $ playername $ c [Not loggeg] $ playername $ means players logged on.

If the server go down a bad man who tries to use the nickname zaregannogo player
he offered to authorized (poor man at this time to change their nick to [Not loggeg] $ playername $), a poor man will close the window, and
probably try to change the nickname to [Not loggeg] $ playername $ to $ playername $, he will tell you get lost and can not zaregan
change the nickname and the nickname will [Not loggeg] $ playername $, ie not be able to use the nickname $ playername $,
Of course if he does not know the password

* Requirements to the script:
1) MySQL database
2) Web server
3) amxmodx 1.8.0 and above
4) When a player changes name, it should not change in sluduyuschem round, and immediately (this is necessary for proper operation)
5) direct hand

* Installation:
1) Set the file
\ \ Site \ \ trs \ \ config.php

2) Pour all of the folders
\ \ Site \ \ trs
on your web server

3) Adjust the file
cstrike \ \ addons \ \ amxmodx \ \ configs \ \ trs \ \ cfg.trs

4) Set up the file:
cstrike \ \ addons \ \ amxmodx \ \ configs \ \ trs \ \ sql.trs

* In addition:
Table for the plugin will be created automatically (when you run the plugin)

нфо от http://hacks-cs.clan.su

Потребителски аватар
Damqn
Пристрастен
Мнения: 156
Регистриран: 08.09.2011, 16:56
Мишка: Made in China
Ник в CS: shooter®
Местоположение: обл. Варна
Контакти:

Re: Да си защитим ника си в цс!

Мнение от Damqn »

То първо трябва да си има програма която да си имаме парола чрез регистрация на саита
и то газ да си имаме парола на ника си
така мисля може да се реализира !
Животът е твърде важен за да го взимаме насериозно.Изображение

Потребителски аватар
2GOOD
The Big Boss
Мнения: 1515
Регистриран: 06.09.2007, 00:31
Мишка: Logitech G5
Местоположение: Panet Mars
Аватарът на 2GOOD
Зареждане…

Re: Да си защитим ника си в цс!

Мнение от 2GOOD »

По принцип, може да се направи по лесния начин директно с регистрация през сървъра, но си мисля че ще е много по-добре за всички това да става през сайта, като също под снимката на профила може да ви пише и ника в цс, който може да си сменяте сами. Също може да има две нива, примерно потребители с 10 мнения - рег на 1 ник, а такива с над 100 мнения рег на 2 ника или примено резервиран слот за 1 сървър. По този начин може да стимулираме посещенията на сайта както и общуването с другите потребители/играчи. Даже мисля че тази идея стои от преди 2-3 години, но сега и идва времето. Със сиг. по това ще се работи началото на април.

Поздрави

Потребителски аватар
Damqn
Пристрастен
Мнения: 156
Регистриран: 08.09.2011, 16:56
Мишка: Made in China
Ник в CS: shooter®
Местоположение: обл. Варна
Контакти:

Re: Да си защитим ника си в цс!

Мнение от Damqn »

Ем.. да прав си 2гоод това е важното да има решение което да доведе по-добре да се регистрират в саита и така да си пароли на никове мисля , че не е за ранк и друго нещо.
Просто това да стане факт :Д :clap:
Животът е твърде важен за да го взимаме насериозно.Изображение

Потребителски аватар
aXNJI
CS Admin, Jr.
Мнения: 692
Регистриран: 25.08.2011, 12:11
Ник в CS: aXNJI

Re: Да си защитим ника си в цс!

Мнение от aXNJI »

2GOOD написа:По принцип, може да се направи по лесния начин директно с регистрация през сървъра, но си мисля че ще е много по-добре за всички това да става през сайта, като също под снимката на профила може да ви пише и ника в цс, който може да си сменяте сами. Също може да има две нива, примерно потребители с 10 мнения - рег на 1 ник, а такива с над 100 мнения рег на 2 ника или примено резервиран слот за 1 сървър. По този начин може да стимулираме посещенията на сайта както и общуването с другите потребители/играчи. Даже мисля че тази идея стои от преди 2-3 години, но сега и идва времето. Със сиг. по това ще се работи началото на април.

Поздрави

Е това за броя никове на базата на мнения е добра идея, но за резервиран слот според мен не трябва да се прави. Защото 30-40 човека ще си резервират слотовете за класика или за д2о и от там нататък като сложим и различното време в което играят и от там нататък забравяме за нови хора в сървърите. Ще си играят само такива с резервирани слотове.

А едно допълнение, към предложението:
Когато дадения ник получи бан съответния ник да се "замръзи" така да се каже, за да не може потребителя да го сменя, докато не му изтече бана. Така хората с динамично IP ще им е по-тегаво, защото няма да могат да влязат само с рес на модема, няма да могат и да влязат с друг ник. Вярно че може да си направи нова регистрация, но от там следва нов имейл, а като го баннат 2-3 пъти за 1 ден не мисля че някой ще си играе да прави нови имейли през 1 час, като може да отиде на хакерства някъде другаде :)
ИзображениеИзображение
The only verdict is vengeance A vendetta held as a votive not in vain
for the value and veracity of such shall one day vindicate the vigilant and the virtuous

xda
Новак
Мнения: 19
Регистриран: 29.01.2012, 11:36
Мишка: Basic Optical Mouse
Ник в CS: xda
Местоположение: София

Re: Да си защитим ника си в цс!

Мнение от xda »

2GOOD написа:По принцип, може да се направи по лесния начин директно с регистрация през сървъра, но си мисля че ще е много по-добре за всички това да става през сайта, като също под снимката на профила може да ви пише и ника в цс, който може да си сменяте сами. Също може да има две нива, примерно потребители с 10 мнения - рег на 1 ник, а такива с над 100 мнения рег на 2 ника или примено резервиран слот за 1 сървър. По този начин може да стимулираме посещенията на сайта както и общуването с другите потребители/играчи. Даже мисля че тази идея стои от преди 2-3 години, но сега и идва времето. Със сиг. по това ще се работи началото на април.

Поздрави

няма ли да стават прекалено много сесии към сървъра за проверка на sql => ЛАГ?

Потребителски аватар
minute
Big Boss
Мнения: 827
Регистриран: 06.09.2010, 19:05
Мишка: MSI g-series
Местоположение: Някъде там в северозапада :-)

Re: Да си защитим ника си в цс!

Мнение от minute »

По скоро не, ние и в момента си изпращаме заявки за проверка в базата дали дадения играч е банат и дали му е активен бана примерно. Тази "допълнителна" проверка за форума ще е също само при влизане на нов играч и едва ли ще натовари кой знае колко машината, защото от към трафик (канал) сме презастраховани.
"Не падай духом, за да не духаш паднал!"
Изображение

Потребителски аватар
Damqn
Пристрастен
Мнения: 156
Регистриран: 08.09.2011, 16:56
Мишка: Made in China
Ник в CS: shooter®
Местоположение: обл. Варна
Контакти:

Re: Да си защитим ника си в цс!

Мнение от Damqn »

Сега това дали ще стане факт или не ? :)
Животът е твърде важен за да го взимаме насериозно.Изображение

Потребителски аватар
minute
Big Boss
Мнения: 827
Регистриран: 06.09.2010, 19:05
Мишка: MSI g-series
Местоположение: Някъде там в северозапада :-)

Re: Да си защитим ника си в цс!

Мнение от minute »

Да, ще стане, но най - рано след месец да не кажем два и повече :D .
"Не падай духом, за да не духаш паднал!"
Изображение

Отговори