Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Troy1

HELP!!! Как программно получить UID или GUID игрока не заходя на сервер?

Всем доброго времени суток уважаемы Форумчане.

Суть проблемы.

Хочу написать мини лаунчер на C# для DayZ 1.4 который будет записывать UID или GUID клиента в WhiteList при входе игрока на сервер и я зашёл в тупик с получением UID или GUID клиента.

 

Как программно реализовать получение UID или GUID клиента на DayZ 1.4 не заходя на сервер?

Желательно получение GUID.

За ранние спасибо.

Изменено пользователем Troy1 (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0
21 минуту назад, Troy1 сказал:

Насчёт логов или генерации UID хорошие предложение, нужно по кумекать над этим.

А можно как нибудь BEC заставить читать UID заместо GUID в вайт листе?

"BEC заставить читать UID заместо GUID в белом листе?" - нет такого и не сможешь сделать, есть же сервер и клиент батлнет,клиент только получает при коннекте игрока guid,ну а guid это md5 хеш от того же uid.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах



  • 0
7 минут назад, DAP сказал:

"BEC заставить читать UID заместо GUID в белом листе?" - нет такого и не сможешь сделать, есть же сервер и клиент батлнет,клиент только получает при коннекте игрока guid,ну а guid это md5 хеш от того же uid.

Понял спасибо. Буду думать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

Понял спасибо. Буду думать.

так в чем то собственно вопрос по получения uid?))) тебе нужно считать со стима или смарт стима?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
2 минуты назад, DAP сказал:

так в чем то собственно вопрос по получения uid?))) тебе нужно считать со стима или смарт стима?

 Да нужно со стима или смарт стима.
Что бы могли зайти на сервер с лицухи или с пиратки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

 Да нужно со стима или смарт стима.
Что бы могли зайти на сервер с лицухи или с пиратки.

код написан мною,правь под свои нужды 

стима:

Скрытый текст

            try
            {
                string tmpFile = string.Empty;
                RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software\Valve\Steam");
                string pathName = (string)registryKey.GetValue("SteamPath");
                pathName = pathName.Replace("/", "\\");
                string SteamLogFilePath = pathName + "\\logs\\connection_log.txt";
                using (FileStream srlog = File.Open(SteamLogFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    using (StreamReader file = new StreamReader(srlog))
                    {
                        while ((tmpFile = file.ReadLine()) != null)
                        {
                            if (tmpFile != string.Empty)
                            {
                                if (tmpFile.Contains("RecvMsgClientLogOnResponse") && tmpFile.Contains("OK"))
                                {
                                    string[] tmpSplit1 = tmpFile.Split(')');
                                    string SteamIdbrut = tmpSplit1[1];
                                    tmpSplit1 = SteamIdbrut.Split(']');
                                    string SteamIdnet = tmpSplit1[0].Replace(" : ", "");
                                    string SyeamID64 = SteamIdnet + "]";
                                    if (SyeamID64.Contains("[") || SyeamID64.Contains("]"))
                                    {
                                        SyeamID64 = SyeamID64.Replace("]", "").Replace("[", ""); //Remove the [ ]
                                    }
                                    if (Regex.IsMatch(SyeamID64, SteamIDRegex.Steam2Regex))
                                    {
                                        SyeamID64 = SteamIDConvert.Steam2ToSteam64(SyeamID64).ToString();
                                    }
                                    else if (Regex.IsMatch(SyeamID64, SteamIDRegex.Steam64Regex))
                                    {
                                        IdSteam64 = SyeamID64;
                                    }
                                    else if (Regex.IsMatch(SyeamID64, SteamIDRegex.Steam32Regex))
                                    {
                                        SyeamID64 = SteamIDConvert.Steam32ToSteam64(SyeamID64).ToString();
                                    }
                                    else
                                    {
                                        SyeamID64 = string.Format("ERROR ?");
                                    }
                                    IdSteam64 = SyeamID64;
                                    if (SyeamID64 != "ERROR ?")
                                    {
                                        #region СЧИТЫВАНИЕ уида и гуида
                                        long uid_ = Convert.ToInt64(IdSteam64);
                                        long SteamId = uid_;
                                        UIDG = uid_.ToString();
                                        uid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                                        {
                                            uid.Content = UIDG;
                                        }));
                                        byte[] parts = { 0x42, 0x45, 0, 0, 0, 0, 0, 0, 0, 0 };
                                        byte counter = 2;
                                        do
                                        {
                                            parts[counter++] = (byte)(SteamId & 0xFF);
                                        } while ((SteamId >>= 8) > 0);
                                        MD5 md5 = new MD5CryptoServiceProvider();
                                        byte[] beHash = md5.ComputeHash(parts);
                                        StringBuilder sb = new StringBuilder();
                                        for (int i = 0; i < beHash.Length; i++)
                                        {
                                            sb.Append(beHash.ToString("x2"));
                                        }
                                        GuidSteam64 = sb.ToString();
                                        guid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                                        {
                                            guid.Content = GuidSteam64;
                                        }));
                                        #endregion
                                    }
                                }
                            }
                        }
                    }
                }

            }
            catch (Exception ex)
            {
                guid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                {
                    guid.Content = "---";
                }));
                uid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                {
                    uid.Content = "---";
                }));
                System.Windows.Forms.MessageBox.Show(ex.Message + " !-=scorpions=-", name_messege, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

для смарт стима :

Скрытый текст

            try
            {
                #region СЧИТЫВАНИЕ уида и гуида
                string UID_USE = string.Empty;
                string appData = string.Empty;
                using (StreamReader ReadUid = new StreamReader(Path.Combine(Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData), "SmartSteamEmu\\steam_id.ini")))
                {
                    while ((appData = ReadUid.ReadLine()) != null)
                    {
                        if (string.IsNullOrEmpty(appData) == false)
                        {
                            UID_USE = appData;
                        }
                    }
                    ReadUid.Close();
                }
                if (string.IsNullOrEmpty(UID_USE) == false)
                {
                    long SteamId = Convert.ToInt64(UID_USE);
                    byte[] parts = { 0x42, 0x45, 0, 0, 0, 0, 0, 0, 0, 0 };
                    byte counter = 2;
                    do
                    {
                        parts[counter++] = (byte)(SteamId & 0xFF);
                    } while ((SteamId >>= 8) > 0);
                    MD5 md5 = new MD5CryptoServiceProvider();
                    byte[] beHash = md5.ComputeHash(parts);
                    StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < beHash.Length; i++)
                    {
                        sb.Append(beHash.ToString("x2"));
                    }
                    guid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                    {
                        guid.Content = sb.ToString();
                    }));
                    uid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                    {
                        uid.Content = UID_USE;
                    }));
                }
                else
                {
                    guid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                    {
                        guid.Content = "---";
                    }));
                    uid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                    {
                        uid.Content = "---";
                    }));
                }
                #endregion
            }
            catch
            {
                guid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                {
                    guid.Content = "---";
                }));
                uid.Dispatcher.Invoke(DispatcherPriority.Background, new Action(() =>
                {
                    uid.Content = "---";
                }));
            }

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, Troy1 сказал:

Насчёт логов или генерации UID хорошие предложение, нужно по кумекать над этим.

А можно как нибудь BEC заставить читать UID заместо GUID в вайт листе?

проще уж скрипт на считывание UID в вайтлисте сервера сделать, такой уже публиковался на форуме

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

123new Ему на клиенте нужно - в сторонней программе

Чел залогинен в стиме - получить стимовский уид, в смартстиме - смартстимовский (фейковый)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

У меня программка должна отправлять UID на сервер в вайт лист, сам вайт лист у меня есть. Спасибо BorizzK за вайт лист.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP Спасибо за код по пробую под себя переделать. Я как понял это класс?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

DAP Спасибо за код по пробую под себя переделать. Я как понял это класс?

 

нет не класс,но сделать как классом можно,да и не сложно вовсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, DAP сказал:

нет не класс,но сделать как классом можно,да и не сложно вовсе.

Хорошо по пробу по позже.
Если что отпишусь.
Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP Не могу ошибки убрать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

DAP Не могу ошибки убрать.

 

ты пишешь на вин форме?или wpf?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP На вин форме.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

DAP На вин форме.

 

переходи сразу на wpf это так на будущее))какие ошибки там?,скинь проект в л.с.

Изменено пользователем DAP (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
5 минут назад, DAP сказал:

переходи сразу на wpf это так на будущее))какие ошибки там?,скинь проект в л.с.

Я черновик делал. по кнопке.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

Я черновик делал. по кнопке.

 

через минут 20 скину исход

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, DAP сказал:

через минут 20 скину исход

Исходник на вин форме?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

Исходник на вин форме?

сделаю на нем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP Спасибо тебе огромное ты очень помог. Сделал без dll вроде работает.
Теперь получаю UID и GUID со Steam и со SmartSteamEmu спасибо ещё раз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
Только что, Troy1 сказал:

DAP Спасибо тебе огромное ты очень помог. Сделал без dll вроде работает.
Теперь получаю UID и GUID со Steam и со SmartSteamEmu спасибо ещё раз.

пожалуйста)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP У тебя есть дискорд? Если да то в ЛС напиши.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, DAP сказал:

переходи сразу на wpf

десктопные приложения кроме как в эмбаркадеро писать, имхо - изврат. хоть в впф хоть в чем. аналогов нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
6 часов назад, NoNameUltima сказал:

десктопные приложения кроме как в эмбаркадеро писать, имхо - изврат. хоть в впф хоть в чем. аналогов нет.

Это твоя реклама?у каждого свое мнение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

DAP Реклама Embarcadero? Borland TM? Забавно, было бы, если бы я там работал, и листал данный форум)))

Мнение конечно у каждого свое. А практика показывает, то что выше написано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.