reddwarf 0 Report post Posted September 29, 2017 Would Elysium be interested in running their own breaking news section ? This could be a feature aimed at advanced users who are comfortable with altering their Windows system. Hosting this on Elysium servers would also eliminate any security risks such as IP tracking or HTML tempering. I have a working proof of concept for the enEU wow client - currently showing status and last 6 twitter feeds from @Elysium_dev 0 Share this post Link to post Share on other sites
Zazabi 0 Report post Posted September 29, 2017 I think it's an awesome suggestion! I've been wondering about that Breaking News section for a long time.. 0 Share this post Link to post Share on other sites
jmul1212 7 Report post Posted September 30, 2017 They would have to modify the client code, i don't think you can do this through any kind of preferences in config settings. This would be very timely and doesn't work like how you think it would. They essentially have to use a hex editor and fuck around until they can figure out how to make it go from Blizz announcements to there own hosted announcements. If you go to ownedcore.com and ask around in the model editing or something section, you could probably get some who would be able to give you a much better answer than me and they might know how to do it already. The whole private server community over there has a lot of experience and talent. http://www.ac-web.org/forums/showthread.php?143224-How-to-Win-Editing-quot-BREAKING-NEWS-quot-on-WoW-clients-Arcemu-MaNGOS-Trinity Here is a whole AC-WEB one. Maybe it is easier than im thinking. 0 Share this post Link to post Share on other sites
reddwarf 0 Report post Posted September 30, 2017 (edited) You are partly correct. Some server projects achieve this by modifying client data which is against TOU. my approach was to modify the windows hosts file in order to convince that the blizzard hostname is hosted at a different ip (that is my server) I've got it working but it obviously is hosted on a non blizzard - non Elysium server which comes with certain risks .. Edited September 30, 2017 by reddwarf 0 Share this post Link to post Share on other sites
jmul1212 7 Report post Posted September 30, 2017 So i looked into it. Elysium would have to do this. 1. Created a Elysium-project.org/alert/index.html to there site. the /alert/index.html is required for the client to accept it and post it. 2. They would have to have the index.html file contain code that would have SERVERALERT: "most recent tweet" 3. players would have to modify the hosts file to have Elysium-Project.org/alert/index.html launcher.worldofwarcraft.com It's actually pretty easily doable from what i read, that could be done without patching the wow.exe. It still requires people to fuck with their hosts file. I know warmane patches there WOTLK server that people download. 0 Share this post Link to post Share on other sites
reddwarf 0 Report post Posted September 30, 2017 The real purpose of this thread was to get a feedback on how popular this would be and see if elysium devs would be willing to implement it. the technical side is easy 0 Share this post Link to post Share on other sites
Nelythia 44 Report post Posted September 30, 2017 In my opinion a great suggestion and feature, especially since some people are confusing the breaking news from retail to be already elysium ones. I do however agree it would be too much work. You would need to offer a client with this patch and everyone would have to re download it, or everyone would have to patch their hosts or client themself, and the amount of people that will do that is probably very small. 0 Share this post Link to post Share on other sites
reddwarf 0 Report post Posted October 1, 2017 Did some more digging and got it working for all localisations of the Wow client using the hosts file. Source code for the proof of concept is below: HOSTS FILE breaking_news_server_ip status.wow-europe.com launcher.worldofwarcraft.com launcher.worldofwarcraft.co.kr launcher.battlenet.com.cn launcher.wowtaiwan.com.tw NGINX SERVER BLOCK server { listen 80; server_name status.wow-europe.com launcher.worldofwarcraft.com launcher.worldofwarcraft.co.kr launcher.battlenet.com.cn launcher.wowtaiwan.com.tw; autoindex off; access_log off; root /home/www/wow; location / { try_files /index.html /index.html; } } CRON SCHEDULED SCRIPT UPDATING STATIC INDEX.HTML (censored elysium server addresses) <?php // // Server status + twitter feed of @Elysium_dev // // initialize empty vars $status = ""; $output = ""; // initialize server ip:ports $data[] = array('server1','server_ip','port'); $data[] = array('server1','server_ip','port'); // get tcp socket status of each server foreach ($data as $d) { if (@fsockopen($d[1], $d[2], $errno, $errstr, 2)) $status .= '|cff00ff00'.$d[0].'|r '; // mark green if online else $status .= '|cffff0000'.$d[0].'|r '; // mark red if offline } // prepare status output $status = '<p>Status: '.$status.'</p>'; // fetch twitter feed $data = file_get_contents('https://mobile.twitter.com/elysium_dev'); if (!$data) die(""); // load and parse html $doc = new DOMDocument(); @$doc->loadHTML($data); // for all <p> tags, if it's a tweet then save content $list = $doc->getElementsByTagName("table"); $i=0; foreach($list as $p) { if (strstr($p->getAttribute("class"),"tweet")) { // tweet block // stop at first 6 tweets if ($i++ > 5 ) break; $tds = $p->getElementsByTagName("td"); foreach ($tds as $td) { if (strstr($td->getAttribute("class"),"timestamp")) { // timestamp block $output .= "<p>".$td->nodeValue; } if (strstr($td->getAttribute("class"),"tweet-content")) { $output .= " - ".trim($td->nodeValue)."</p><br />"; } } } } // final content to be written, combine server status ($status) + twitter feed ($output) $write = "SERVERALERT:\n<html><body>".$status.'<br />'.$output.'</body></html> '; file_put_contents('/home/www/wow/index.html',$write); ?> A special security consideration should be taken regarding the server hosting this file as it most likely cannot be hidden behind Cloudflare and therefore will be possibly exposed to a ddos attack vector. 0 Share this post Link to post Share on other sites