Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Wednesday, 26 February 2020

Roblox raises $150M Series G, led by Andreessen Horowitz, now valued at $4B

Online gaming platform Roblox, now home to 115 million largely Gen Z players per month, announced today it has raised $150 million in Series G funding, led by Andreessen Horowitz’s Late Stage Venture fund. The company will also open a tender offer for up to $350 million of common and preferred shares, it says.

The company has previously offered stakeholders and employees liquidity through periodic secondary offerings, as it believes in its long-term potential. Roblox is also cash-flow positive, according to its CFO Michael Guthrie.

Others participating in the Series G include new investors Temasek and Tencent Holdings Limited, as well as existing investors Altos Ventures, Meritech Capital, and Tiger Global Management.

The funding comes at a period of significant growth for the gaming platform. Just last summer, it was being visited by 100 million users, topping Minecraft, and its developer community was on track to earn $100 million in 2019. Since then, Roblox has further invested in its developer business, with the launch of new tools for building more realistic 3D experiences and a marketplace where creators can sell their own development assets and tools to others, among other things.

Roblox offers a platform for its developers to build upon, similar to the App Store. Many of its most popular games are free, instead monetizing as players spend on in-game items using virtual cash called Robux. Some of its largest games now have millions of players apiece. Players on Roblox often do more than just focus on completing a goal or task — they go online to hang out with friends in a gaming environment.

In recent months, Roblox has also been working to take its platform further outside the U.S. including most notably China. Last year, Roblox entered a strategic partnership with Tencent in an effort to bring its platform and coding curriculum to the region, including by adding support for Chinese languages and running coder camps.

As of last year, Roblox was valued at $2.5 billion, with roughly half of U.S. children ages 9 through 12 playing on its platform, according to comScore. This remains true today. The company is now valued at $4 billion, The Wall Street Journal reported. (TechCrunch additionally understands this to be true.)

Today, Roblox says its user base is spending a collective 1.5 billion hours per month on its service. And because it’s accessible across platforms, users often move from PC to smartphone to continue to play — a newer trend in online gaming, and one that’s also driving adoption of games like Fortnite, PUBG, and others.

“We are big believers in Roblox’s long-term vision, and are confident in backing the team as they enter this next inflection point,” said David George, General Partner at Andreessen Horowitz, of the firm’s investment. “Roblox is one of those rare platform companies with massive traction and an organic, high-growth business model that will advance the company, and push the industry forward for many years to come,” he added.

Roblox plans to leverage the new funds to continue its growth, including international; further build out its developer tools and ecosystem; and invest in engineering talent and infrastructure.

“We’ve stayed true to our vision of creating a safe and civil place where people come together to create, learn, and have fun, and it’s amazing to see what we’ve built together with our global creator community,” said David Baszucki, CEO and co-founder of Roblox, in a statement. “Looking ahead, we’re doubling down on our commitment to building the most advanced tools and technology to take our creators and players into the metaverse of the future.”



from TechCrunch https://ift.tt/2Vq7noU
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support