Вступаем в группу steam через сервер

Данилка

Участник
Сообщения
57
Реакции
15
Да не ужели тогда глянь сюда мне кажеться сдесь тот файлик точно есть ;)

А теперь смысл есть ?! :D

P.S Долго ет сайт искал он связан с данным плагином
 

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #22
Данилка, нет! Если ты не знаешь способа как обмануть веб-сервер и заставить вместо интерпретации php файла отдать его содержимое как текст.
 

Данилка

Участник
Сообщения
57
Реакции
15
Ну дык а я что говорю что знаю ? Я просто даю подсказки людям которые знают больше меня в скриптинге =)

Кто просил скрипт steam_invite.php ? :D

PHP:
This goes for all those lazy asses out there :) works in combination with
hlstatsx. Requirements: php with pear:http_request and GMP support

1. create a php file on your web server invite_steam.php with following
content (replace the defines at the beginning):

<?
> define("ACC_NAME", "your_steam_login");
> define("ACC_PASS", "your_steam_pass");
> define("GROUP_ID", "group_id"); // open steam group page and see "Enter
> chat room" link, which contains ID
> define("MY_STEAM_ID", "STEAM_0:1:1"); // steam ID which can invite to join
> group
>
> $invite_steam_id = $_GET['i'];
>
> $ids = file('invited_ids.txt');
> foreach($ids as $id) {
>   $id = trim($id);
>   if ( $id == $invite_steam_id )
>     die($id .": Already invited!\n");
> }
>
> function GetFriendID( $steam_id ) {
>   if ( !$steam_id )
>     return 0;
>   $auth = explode(':', $steam_id);
>   if ( !$auth[2] )
>     return 0;
>   $fid = gmp_init($auth[2]);
>   $fid = gmp_mul($fid, "2");
>   $fid = gmp_add($fid, "76561197960265728");
>   $fid = gmp_add($fid, $auth[1]);
>   return gmp_strval($fid);
> }
>
>
> require_once "HTTP/Request.php";
>
> $req = &new HTTP_Request('https://steamcommunity.com');
> $req->setMethod(HTTP_REQUEST_METHOD_POST);
>
> $req->addPostData("action", "doLogin");
> $req->addPostData("goto", "");
>
> $req->addPostData("steamAccountName", ACC_NAME);
> $req->addPostData("steamPassword", ACC_PASS);
>
> echo "Login: ";
>
> $res = $req->sendRequest();
> if (PEAR::isError($res))
>   die($res->getMessage());
>
> $cookies = $req->getResponseCookies();
> if ( !$cookies )
>   die("fail!\n");
>
> echo "ok\n";
>
> foreach($cookies as $cookie)
>   $req->addCookie($cookie['name'],$cookie['value']);
>
> $mid = GetFriendID(MY_STEAM_ID);
> $fid = GetFriendID($invite_steam_id);
> $url = "
> http://steamcommunity.com/actions/GroupInvite?type=groupInvite&inviter=$mid&invitee=$fid&group=";
> . GROUP_ID;
>
> echo "Inviting $invite_steam_id ($fid): ";
> $req->setMethod(HTTP_REQUEST_METHOD_GET);
> $req->setUrl($url);
>
> $res = $req->sendRequest();
> if (PEAR::isError($res))
>   die($res->getMessage());
>
> $data = $req->getResponseBody();
> preg_match("/CDATA\[([^\]]+)\]/", $data, $matches);
> echo $matches[1] . "\n";
> if ( $matches[1] == "OK" )
>   file_put_contents('invited_ids.txt', $invite_steam_id . "\n",
> FILE_APPEND);
> ?>
>


2. open hlstats.pl file and find a line containing "STEAM USERID validated"

3. paste (and replace address) the following code after line "my $playerinfo
= &getPlayerInfo($ev_player, 0);" :

> $runcmd = "wget -O /dev/stdout
> http://your.web.server.address/invite_steam.php?i=".$playerinfo->{"uniqueid"}."
> -q";
> print `$runcmd`;


4. go grab some beer and watch your group to grow :)

А тут уже готовенькое для eventscripts:

PHP:
import cookielib
import urllib
import urllib2


###


class Inviter(object):
   INVITER_ID = '' # Your Steam ID
   INVITER_LOGIN = '' # Your Steam login
   INVITER_PASS = '' # Your Steam password
   INVITER_GROUP = '' # Group number


   BASE_URL = 'https://steamcommunity.com'


   def inviteToGroup(self, steamid):
      data = urllib.urlencode({
       'action': 'doLogin',
       'goto': '',
       'steamAccountName': self.INVITER_LOGIN,
       'steamPassword': self.INVITER_PASS,
       })


      # Login to Steam
      jar = cookielib.CookieJar()
      opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
      opener.open(self.BASE_URL, data).close()


      # Invite SteamID to group
      opener.open('http://steamcommunity.com/actions/GroupInvite?type=groupInvite&inviter=%s&invitee=%s&group=%s' %
       (self.steamIDToCommunityID(self.INVITER_ID), self.steamIDToCommunityID(steamid), self.INVITER_GROUP)).close()


   @staticmethod
   def steamIDToCommunityID(steamid):
      x, server, id = steamid.split(':')
      return str(int(id) * 2 + int(server) + 76561197960265728L)


def invite(steamid):
   Inviter().inviteToGroup(steamid)

Второй eventscript какой то из двух верный а может они оба работают хз :
PHP:
import sys, os, re


SID_NONE    = 1<<0
SID_PRINT   = 1<<1
SID_PROCESS = 1<<2
SID_QUIET   = 1<<3


def about():
    print "Steam Id <-> Community ID Converter\n" \
          "Programmed by theY4Kman, algorithm discovered by voogru\n"


def syntax(command=None):
    if command == ["help", "?", "/?"]:
        print "Displays the help message."
    else:
        print "Usage:  ", os.path.basename(sys.argv[0]), " SteamID|CommunityID [/p] [/q]\n" \
              "Options:\n" \
              "         /p  Show the process of deriving the Steam/Community ID\n" \
              "         /q  Quiet mode. Only print out the Steam/Community ID"


def proc(message, check=SID_NONE, flags=SID_NONE):
    if flags & check: print message


def convert(i, flags=SID_NONE):
    steamid = re.compile(r'STEAM_0:([01]):(\d{1,10})').match(i)
    commid  = re.compile(r"(\d{17})").match(i)
    if steamid:
        proc("Steam ID -> Community ID\n\n%s" % i, SID_PROCESS, flags)
        tok = steamid.groups()
        auth = int(tok[1]) * 2
        server = int(tok[0])
        proc("%s * 2 = %d" % (tok[1], auth), SID_PROCESS, flags)
        tok = auth + 76561197960265728 + server
        proc("%d + 76561197960265728 + %d = %d" % (auth, server, tok), SID_PROCESS, flags)
        if flags & SID_PRINT: print tok
        else: return tok
    else:
        proc("Community ID -> Steam ID\n", SID_PROCESS, flags)
        tok = int(i)
        server = tok % 2
        proc("%s is %s, so the auth server is %d" % (i, (server and "odd") or "even", server), SID_PROCESS, flags)
        auth = tok - server
        proc("%d - %d = %d" % (tok, server, auth), SID_PROCESS, flags)
        auth -= 76561197960265728
        proc("%d - 76561197960265728 = %d" % (tok - server, auth), SID_PROCESS, flags)
        proc("%d / 2 = %d" % (auth, auth/2), SID_PROCESS, flags)
        auth /= 2
        if flags & SID_PRINT: print "\nSteam ID: STEAM_0:%d:%d" % (server, auth)
        else: return "STEAM_0:%d:%d" % (server, auth)
    return
if __name__ == '__main__':
    if len(sys.argv) < 2:
        syntax()
        exit()
    if sys.argv[1] == "about":
        about()
        exit()
    if sys.argv[1] in ["help", "?", "/?"]:
        syntax((len(sys.argv) >= 3) and sys.argv[2] or None)
        exit()
    
    flags = SID_NONE
    i = None
    for option in sys.argv[1:]:
        if option == "/p": flags |= SID_PROCESS
        if option == "/q": flags |= SID_QUIET
        else:
            if not i and re.compile(r'STEAM_0:[01]:\d{1,10}').match(option) or re.compile(r"\d{17}").match(option): i = option


    if not i: # Then whom?
        syntax()
    else:
        if flags & (SID_QUIET|SID_PROCESS) == (SID_QUIET|SID_PROCESS): flags ^= SID_PROCESS
        convert(i, flags|SID_PRINT)

Америкосы в коментах пишут что все работает =)

Вот только есть люди которые могут превратить данный скрипт в плагин smx ? =)
 
Последнее редактирование:

w1b3

Участник
Сообщения
84
Реакции
39
Блин, парни, мое предложение в силе.
Сделайте нормальный рабочий плагин, и продавайте его по 100р за копию!
я первый кто его купит, потому как закол♥♥♥♥со всех приглашать в группу.. и знаю еще минимум 4 владельцов сервов, которые его бы тоже приобрели!
 

Данилка

Участник
Сообщения
57
Реакции
15
Открою тебе большую тайну мой друг)) видишь я выкладывал исходный код 4 строчка с верху это и есть тот самый плагин который в группу всех приглашает а это значит что он продается мне даже в личку один написал с вопросом "хотел бы я его приобрести или нет" я уточнил что да как (Короче даже если ты и купишь этот плагин он стоит где то 500-800 руб НО опять таки ты его купил люди прут в группу и вдруг выходит очередное обновление STEAM и эту дурочку зафиксили и прощай твои денежки на ветер плагин попросту стал не дееспособным) Понял в чем жопа ? :D
 

palanich

Участник
Сообщения
114
Реакции
5
Сделайте пожалуйста возможность добавления несколько команд
например !ban - открываем страничку сорсбанса для добавления заявки на бан, ну и т.д
Спасибо!
 

w1b3

Участник
Сообщения
84
Реакции
39
опять таки ты его купил люди прут в группу и вдруг выходит очередное обновление STEAM и эту дурочку зафиксили и прощай твои денежки на ветер плагин попросту стал не дееспособным) Понял в чем жопа ? :D

Так вот в чем собака... понял, печально. :this:
 

Данилка

Участник
Сообщения
57
Реакции
15
Ага но с другой стороны разработчики стим не спешат закрывать эт дырку только я хз почему =)

Хочешь можешь купить и выложить исходник плагина сюда (или скиньтесь с кем нить) - тем самым превлечешь большое кол-во пользвателей на сайт чтоб они могли скачать исходник))))
 

PhO3n1X

Участник
Сообщения
4
Реакции
12
Хочешь можешь купить и выложить исходник плагина сюда (или скиньтесь с кем нить) - тем самым превлечешь большое кол-во пользвателей на сайт чтоб они могли скачать исходник))))
Адресок не дашь, где можно купить?
 

Данилка

Участник
Сообщения
57
Реакции
15
Сообщение от Данилка
Очень интерестно...а PHP скрипт случайно не вот ет не ?

Короче всё с тобой ясно. Ты действительно думаешь, что я бы стал продавать то что свободно можно взять в интернете? Да и то что ты тут показываешь, никак не пахнет PHP скриптом. Если не собираешься покупать скрипт, то я думаю нам больше не о чем разговаривать.

Цитата: Сообщение от Данилка
Хочешь можешь купить и выложить исходник плагина сюда (или скиньтесь с кем нить) - тем самым превлечешь большое кол-во пользвателей на сайт чтоб они могли скачать исходник))))

Адресок не дашь, где можно купить?

Тыж мне его пытался пропихнуть не так ли ?

P.S Ладно ради народа поищу у кого можно купить данный исходник :D

Добавлено через 17 минут
По не совсем точным данным вообще не факт то что это он но все же кину 2 ссылки чтоб связаться с ним

1


Вторую ссыль не получилось кинуть так как форум блокирует слово Юкоз

Администрация не удоляйте ссылки не сочтите за рекламу =)

Добавлено через 40 минут
А еще мой дружок не прикидывайся дурачком покопавшись на кое каких форумах нашел одобряющий коменнт там есть даже твой ник

УЗНАЕШЬ ? :D

Купил Steam group invater у PhO3n1X, всё работает чётко и без проблем! За такие деньги лучше купить и не мучатся....
А варианты представлены више нужно доделывать...

Давай делись исходником =) или продавай

Источник
 
Последнее редактирование:

Manian

Участник
Сообщения
14
Реакции
0
Люди помогите
У меня сервер на хосте стоит,а там линукс
Как можно не через сайт скомпилировать?
Вот что пишет:
/groups/sourcemod/upload_tmp/textv72k8L.sp(1) : error 010: invalid function or declaration 1 Error.
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Бредово это. В мотд показывать ссылку на группу :D
На самом деле всё намного проще. Если человек понимающий, то ему достаточно будет почитать эту извествую тему об инвайтах на ксмании. Ну а выкладывать рабочий инвайтер в паблик врятли кто-нибудь будет, так как многие уже их неоднократно продавали. Так что или включайте смекалку и пишите сами, или же покупайте, больше вариантов нету.
 

Данилка

Участник
Сообщения
57
Реакции
15
Ладно я признаюсь в одном на самом деле есть оидн способ как пригласить в группу людей...без какого либо плагина charles в помощь ;) (намек я думаю всем ясен)

Вот только там не всегда срабатывает так запрос обновляеться каждые 3-5 секунд короче копайтесь на здоровье =)
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Ладно я признаюсь в одном на самом деле есть оидн способ как пригласить в группу людей...без какого либо плагина charles в помощь ;) (намек я думаю всем ясен)

Вот только там не всегда срабатывает так запрос обновляеться каждые 3-5 секунд короче копайтесь на здоровье =)

Вообще-то для успешной отправки инвайта следует залогинить какой-нибудь стим аккаунт. Затем отправить запрос на инвайтер, все запросы содержат определённую структуру. При чём тут прокси? По-моему ты пытаешся говорить на темы, в которых и толики не смыслиш, и даёш лишь какие-то "псевдо" советы. Как это обычно бывает, нарыл какой-то захудалый мануал, чтото пару раз получилось и всё, возомнил себя всезнайкой.

И мне, лично, очень интерестна последняя фраза. Что значит "запрос обновляется"?
 

Данилка

Участник
Сообщения
57
Реакции
15
Я не совсем так обьяснил и ты не так понял я всего лишь дал опять таки подсказку людям а как и что делаеться я почти знаю но говорить не буду ибо не могу)))

Действуйте думайте излагайте мысли =)

Запрос обновляеться то есть даеться время для обработки запроса если в течении 3-5 секунд не успеешь его обработать то выскачет ошибочка короче думай :D
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Я не совсем так обьяснил и ты не так понял я всего лишь дал опять таки подсказку людям а как и что делаеться я почти знаю но говорить не буду ибо не могу)))

Действуйте думайте излагайте мысли =)

Запрос обновляеться то есть даеться время для обработки запроса если в течении 3-5 секунд не успеешь его обработать то выскачет ошибочка короче думай :D

Ну и какой вывод? Ты пытаешся давать советы о том, в чём сам толком не разбираешся. То-есть выкладываеш ложную и не нужную информацию в своих постах. А твои заметки о "запросах" хоть на баш кидай.
 

Данилка

Участник
Сообщения
57
Реакции
15
Вот что бывает когда человек пытаеться помочь людям обливают тебя говнецом говоря что ты лжец ! (обсурд) такие как ты засранцы короче кому надо тому пригодиться а кому нет пусть проходит мимо

А если ты такой знаток хренов может сделаешь плагин инвайтер м ?
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Вот что бывает когда человек пытаеться помочь людям обливают тебя говнецом говоря что ты лжец ! (обсурд) такие как ты засранцы короче кому надо тому пригодиться а кому нет пусть проходит мимо

А если ты такой знаток хренов может сделаешь плагин инвайтер м ?

Я плагин уже давно сделал. Зачем выкладывать в публику то, что хорошо продаётся?

Было бы ещё что там поливать "говнецом". Я ведь сказал, что ты выкладываеш или ложную, или устаревшую инфу, смотря в каком посте. И это не догадки, никому ты ничем не помагаеш.
 
Сверху Снизу