Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   WWW (http://mangos.ytdb.ru/forumdisplay.php?f=23)
-   -   WoW TrueShots (http://mangos.ytdb.ru/showthread.php?t=1070)

HarpyWar 14.05.2010 10:29

WoW TrueShots
 
Вложений: 5
Сделал хостинг изображений для игроков WoW - http://trueshots.org
На него можно загружать скриншоты из игры World of Warcraft, которые сделаны через игру, путем нажатия кнопки PRINTSCREEN (все остальные изображения помечаются ненастоящими). Например, если отредактировать скрин фотошопом, то он будет ненастоящим.

Собственно, если изображение на нём, то можно быть уверенным, что оно настоящее :)
Этот хостинг может использоваться в качестве средства для подачи игроками жалоб на читеров, да и просто любые скрины, для которых должна быть уверенность, что они не модифицированы.

Админам серверов ещё предлагается связать свой игровой сервер wow с trueshots.org, и игроки смогут добавлять скриншоты под своими игровыми персами.
Если кого заинтересует, подробности по ссылкам:
http://trueshots.org/idea.php
http://trueshots.org/add_server.php


Если у пользователя русский язык в браузере, то отображается русский интерфейс. Для всех остальных - английский.


Прикладываю исходники, если кто-то захочет поставить у себя такой же хостинг. У них немного меньший функционал, но основную функцию загрузки и отображения скриншотов выполняют.
Требуется веб сервер, mysql, php5+ и свободное место для файлов-скринов.
Установка очень простая, 4 последовательных шага описаны в файле README.txt

Версия 1.1 - без аккаунтов
Версия 2.2 - с аккаунтами из базы сервера wow с личной галереей пользователя, и с общей галереей, где можно посмотреть все загруженные скриншоты; игроки сервера могут оставлять комменты к каждому скриншоту

Shadez 14.05.2010 13:59

Во-первых, даже те скриншоты, которые сделаны принтскрином в игре, не заливаются)
Во-вторых, как сабж относится к RMDC? :)

HarpyWar 14.05.2010 14:19

Цитата:

Сообщение от Shadez (Сообщение 6415)
Во-первых, даже те скриншоты, которые сделаны принтскрином в игре, не заливаются)
Во-вторых, как сабж относится к RMDC? :)

Если не сложно, можешь отправить мне на мыло те скрины, которые не заливаются?) harpywar@gmail.com
Только они должны быть прямо из папки с игрой, не обработанные и не пересохраненные какой-нибудь прогой.

Ну это косвенно как-никак относится, поскольку может быть полезно админам/гмам серверов, которым игроки предоставляют скрины.

tempura 14.05.2010 14:29

Цитата:

Сообщение от HarpyWar (Сообщение 6420)
Ну это косвенно как-никак относится, поскольку может быть полезно админам/гмам серверов, которым игроки предоставляют скрины.

Тогда его у себя ставить надо - то есть исходники получить, а не ссылку на сайт.

HarpyWar 14.05.2010 15:09

Окей, мне не жалко) тему обновил, исходники приложил. Это я делал для своего сервера пару лет назад, но сейчас его уже нет, поэтому расположил у себя.

Просто если они в одном месте хостятся, имхо, удобнее. Ведь конкретно на вов сервер они не завязаны, да и место свободное не нужно тратить.

Lightunit 14.05.2010 15:11

А можете описать принцип определения скриншота?
По названию, по частям или по какаим то данным. Если вас не затруднит:)

LordJZ 14.05.2010 15:17

Цитата:

Сообщение от Lightunit (Сообщение 6431)
А можете описать принцип определения скриншота?
По названию, по частям или по какаим то данным. Если вас не затруднит:)

Судя по коду, проверяются первые несколько байт файла.

Konctantin 14.05.2010 15:20

PHP код:

function checkImage($content)

    
//шаблоны hex заголовков изображений wow
    
$hexheader=array
    (
        
//начальный блок у любого изображения wow - 26 символов
        
"ff d8 ff e0 0 10 4a 46 49 46 0 1 1 0 0 1 0 1 0 0 ff db 0 43 0 6 4",
    );

    foreach (
$hexheader as $value)
    {
        
//если все символы шаблона совпадают с началом контента, то возвратить true
        
if (substr(str2hex($content),1,strlen($value))==$value) return true;
    }

    return 
false;



HarpyWar 14.05.2010 15:26

Да, все предельно просто, и в то же время надежно :)

Konctantin 14.05.2010 15:29

Интересно, что тут за информация хранится? как расшифровать этот участок:
ff d8 ff e0 0 10 4a 46 49 46 0 1 1 0 0 1 0 1 0 0 ff db 0 43 0 6 4

Lightunit 14.05.2010 15:42

http://www.ffd8.org/ - может поможет с расшифровкой. С английским плохо знаком.
http://www.fileformat.info/info/unic...FFE0/index.htm

HarpyWar 14.05.2010 16:00

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

2Lightunit
По ссылкам совсем не то)
По первой просто блог так называется, а по второй это символ цента в юникоде.

Да в общем это и неважно, что там за инфа. Я, кажется, в свое время смотрел, вов сохраняет скрины в одном из вариантов формата jpeg 2000.

kBaTT 18.05.2010 19:00

не помешала бы страничка, где можно просмотреть все скриншоты.

tempura 18.05.2010 20:16

А, кстати, да. Вот я зашел на страницу, вижу там форму загрузки и три случайных скрина. А мне надо свой найти, который я неделю назад отгрузил. Как? Есть какой-то функионал вывода галереи, лучше всего с разделением по дням-неделям-месяцам-годам?

HarpyWar 18.05.2010 23:45

Вложений: 3
Я уже сделал регистрацию и часть функционала типа личной галереи. Хочу сделать для своего хостинга автоматическую закачку изображений на какой-нибудь сервис, типа imageshack, чтобы не заботиться о свободном месте. И ещё закачку любых изображений - не только вововских. Они будут помечаться ненастоящими.

Так же в ближайшие дни думаю сделать прогу-аплоадер (если ничто не собьет мои планы :)), чтобы правой кнопкой можно было нажать на любой файл у себя на компе и одним кликом загрузить на трушотс в свой акк. Это только для моего хостинга, там будет свой апи.
Вообще, это скорее, для себя, т.к. всегда хотел иметь подобную прогу для быстрой загрузки любых изображений в инет. У всех, которые находил, какой-то не тот функционал был, и долго было открывать..

trtw89 19.05.2010 05:16

+1 за идею с галереей
может вместо новой регистрации можно использовать игровой аккаунт? вытаскивать данные с realmd->account?

tempura 19.05.2010 08:25

Отличная идея! Сразу тебе и твой акк, и все скрины что с него сделаны - найти нужный будет несложно, даже если их с сотню будет - свои-то скрины кое-как, но помнишь.

HarpyWar 19.05.2010 10:25

У меня своего сервера нет. Если подскажете ссылку на структуру таблицы с юзерами у мангоса, и php функцию для хеширования пароля, то могу сделать модификацию для мангоса :)

trtw89 19.05.2010 10:50

https://mmfpm.svn.sourceforge.net/svnroot/mmfpm/trunk/

srv38 19.05.2010 15:31

Цитата:

Сообщение от HarpyWar (Сообщение 6811)
У меня своего сервера нет. Если подскажете ссылку на структуру таблицы с юзерами у мангоса, и php функцию для хеширования пароля, то могу сделать модификацию для мангоса :)



Хешируется sha1(USERNAME:PASSWORD);

LordJZ 19.05.2010 15:39

Хешируется sha1(USERNAME:PASSWORD)

srv38 19.05.2010 16:49

Пардон :), точно, просто никогда внимания не обращал.

kBaTT 19.05.2010 17:21

HarpyWar, очень хочется узнать. Новые версии галереи будут для паблика? Или нет?
Очень понравилась эта галерея, можно сказать то, что искал, но без страницы списка скринов, чуть не так выглядит. :)

srv38 19.05.2010 18:07

Паблик?, или Вы имели ввиду эмуляторов а не офа?, тогда наверно можно просто убрать проверку в 8-м посте.

HarpyWar 19.05.2010 18:09

Залил версию 2.0 с аккаунтами от сервера Мангоса и личной галереей скринов.

kBaTT, я думаю, это последняя общедоступная версия (но мелкие баги подправлю, если будут). С моей версией это уже идет в разрез - слишком много будет отличий, и модифицировать обе мне будет сложно.

kBaTT 19.05.2010 19:13

при попытке залогиниться и просмотре полного скриншота пишет:
Цитата:

There seems to have been a slight problem with our database, please try again later.
часть конфига:
PHP код:

$mysql_database="wow_trueshots"// база данных

$table_shots="screenshots"// таблица со скриншотами
$table_users="realmd"// таблица wow аккаунтов 


HarpyWar 19.05.2010 19:17

Так база данных должна быть от мангоса, в ней должна быть таблица $table_users с уже готовыми аккаунтами. Вероятно, должно быть так:
PHP код:

$mysql_database="realmd"// база данных

$table_shots="screenshots"// таблица со скриншотами
$table_users="account"// таблица wow аккаунтов 

Для проверки запроса к бд можешь раскомментировать 14 строку в login.php

kBaTT 19.05.2010 19:20

HarpyWar, извеняюсь за свою невнимательность =)
Спасибо, теперь работает.

HarpyWar 19.05.2010 19:34

Ещё пару багов подправил, скриншоты других юзеров не отображались, и ссылки на пейджинг не правильные были для всех скриншотов. Перезалил.
kBaTT, тебе из нового архива можно заменить screenshots.php, index.php и config.inc.php

trtw89 19.05.2010 21:19

Код:

MySQL Error:


Error in SQL query:

SELECT * FROM account WHERE password='9f4f375ab956cd34176ce8265755b681bf7f1ba2' LIMIT 1;

Error: Unknown column 'password' in 'where clause'
Error #: 1054
Filename: /wow/2/login.php

$mysql_host="localhost";
$mysql_username="root";
$mysql_password="123456";
$mysql_database="realmd"; // база данных mangos

$table_shots="screenshots"; // таблица со скриншотами
$table_users="account"; // таблица wow аккаунтов

картинки видны, логин не проходит

Shadez 19.05.2010 21:27

а ничего, что хэш хранится в поле `sha_pass_hash`?

CruncH 19.05.2010 21:31

`sha_pass_hash` varchar(40) а не `password`, поправте в коде запрос, и проблема должна исчезнуть

зы. не тестил сам проект вообще

HarpyWar 19.05.2010 21:44

Действительно. В login.php надо заменить на 18 строке password на sha_pass_hash
Перезалил.

wk23 19.05.2010 22:19

Цитата:

Сообщение от Konctantin (Сообщение 6438)
Интересно, что тут за информация хранится? как расшифровать этот участок:
ff d8 ff e0 0 10 4a 46 49 46 0 1 1 0 0 1 0 1 0 0 ff db 0 43 0 6 4

редакторы дописывают в заголовок свои метаданные, также могут отличатся используемые спецификации формата jpeg



http://www.codenet.ru/progr/formt/jpeg_13.php

HarpyWar 16.06.2010 22:23

Добавлена возможность привязять свой игровой сервер wow, и игроки смогут добавлять скриншоты под своими игровыми персами.
Если кого заинтересует, подробности по ссылкам:
http://trueshots.org/idea.php
http://trueshots.org/add_server.php


Решился и доделал таки аплоудер. Если никто не будет юзать, то по крайней мере для себя :)
Плюс теперь можно загружать на trueshots.org вообще любые изображения. Те что не из вова помечаются ненастоящими.
http://trueshots.org/uploader.php
http://trueshots.org/images/trueshot...der_action.gif

Hantet 15.07.2010 23:00

Ув. HarpyWar, позволите ли Вы использовать ваши наработки в плане проверки подлинности изображений в моём баг-трекере?

HarpyWar 16.07.2010 08:02

Цитата:

Сообщение от Hantet (Сообщение 10773)
Ув. HarpyWar, позволите ли Вы использовать ваши наработки в плане проверки подлинности изображений в моём баг-трекере?

Конечно, можно. Буду рад, если это принесет пользу).

kBaTT 19.07.2010 06:15

неплохо было бы сделать комментарии, но я такое еще не осилил, кто нибудь поможет сделать? :)

HarpyWar 23.07.2010 21:35

Вложений: 2
Цитата:

Сообщение от kBaTT (Сообщение 10926)
неплохо было бы сделать комментарии, но я такое еще не осилил, кто нибудь поможет сделать? :)

Написал комменты, обновил в первом посте архив, версия 2.1.
Если будешь обновлять, необходимо добавить в бд таблицу "comments" (структура в inc/TABLES.sql) и заменить все файлы из нового архива.

kBaTT 25.07.2010 17:51

обновился, но не отображает комментарии, точнее ошибка:
PHP код:

Call to undefined function Translate() 

Посмотрел файл func.inc.php, не нашел функции.


Текущее время: 11:14. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS