Kết quả 1 đến 2 của 2
Chủ đề: share bản autoupdate
-
29-07-08, 04:34 PM #1
- Ngày tham gia
- Nov 2007
- Bài viết
- 45
- Thanks
- 0
- Thanked 4 Times in 1 Post
share bản autoupdate
Như đã hứa với các bạn hôm nay mình share cho các bạn bản upautodate mà mình đã sử dụng cho server online của mình.
Bản này có ưu điểm là có thể upload lên host khác (không nằm cùng với server) nên có thể vừa làm tự động cập nhập cho clinet vừa làm thông báo cho server khi server bảo trì. Tuy nhiên có 1 nhược điểm là không thể tự động unzip hoặc unrar.
Đây cũng là điều mà mình đang cố gắng khắc phục.
Cấu hình server
Bước 1:
- Bạn tạo 1 sub có dạng [Only registered and activated users can see links. ]
- Tạo 1 file có tên filelist.php và chép đoạn code này vào:
PHP Code:<?php
class Boot
{
private $i = 0;
///////////////////////////////////////
//// Tao code cho file list
////
//// * Thanhhue
//// *
//// *
/////////////////////////////////////////
public function Create($FILEN, $mode)
{
$dir = "./";
if(is_dir($dir))
{
$Handle = opendir($dir);
if($Handle)
{
$FHandle = fopen($FILEN, 'w');
$this->ReadDir($Handle, $dir, $FHandle, $mode);
//Cut trails
$temps = file_get_contents($FILEN);
$temps[strlen($temps) - 1] = "";
file_put_contents($FILEN, $temps);
}
}
return true;
}
/**
* Read all files in a given directory.
*
* @param resource $Handle
* @param string $dir
* @param resource $FHandle
* @param int $mode
* @return bool
*/
private function ReadDir($Handle, $dir, $FHandle, $mode)
{
while (($file = readdir($Handle)) !== false)
{
if(is_dir($dir.$file) && $file != ".." && $file != ".")
{
$NHandle = opendir($dir.$file."/");
if($NHandle)
{
$this->ReadDir($NHandle, $dir.$file."/", $FHandle, $mode);
}
}
elseif (is_file($dir.$file))
{
$Skip = array(
'file.list',
'filelist.php'
);
if($mode == 1)
{
if($this->FileExt($file) == "zip" && !array_key_exists($file, $Skip) && $file[0] != '_')
{
$data = $this->FileName($file) . "," . filesize($dir.$file) . "*";
$dat = $data;
fwrite($FHandle, $dat);
$this->i++;
}
}
else
if(!$this->CheckName($file, $Skip) && $file[0] != '_')
{
$data = $dir.$file . "," .md5_file($dir.$file);
$dat = "$data\r\n";
fwrite($FHandle, $dat);
$this->i++;
}
}
else
{
}
}
closedir($Handle);
return true;
}
/**
* Returns the extension of the file name
*
* @param string $file
* @return string
*/
private function FileExt($file)
{
$TEMP = explode('.', $file);
return $TEMP[count($TEMP) - 1];
}
private function FileName($file)
{
$TEMP = explode('.', $file);
return $TEMP[0];
}
/**
* Loads a boot file.
*
* @param string $FILEN
* @return bool
*/
public function Load($FILEN)
{
$fp = fopen("list.txt", 'r');
$TEMP['RESOURCE'] = fopen($FILEN, 'r');
$i = 0;
while (!feof($TEMP['RESOURCE']))
{
$TEMP['FILE'][$i] = fgets($TEMP['RESOURCE'], 1024);
$i++;
}
for($c = 0; $c < count($TEMP['FILE']); $c++)
{
include($TEMP['FILE'][$i]);
}
unset($TEMP);
return true;
}
private function CheckName($file, $array)
{
for($i = 0; $i < count($array); $i++)
{
if($file == $array[$i])
{
return true;
break;
}
}
return false;
}
}
if(isset($_POST['submit']) && $_POST['pa'] == "123456" && $_POST['user'] == "thanhhue")
{
$boot = new Boot();
$boot->Create("file.list", 0);
echo "Cap nhat game thanh cong!";
}
else echo "Ban hay kiem tra lai thong tin";
?>
<form method="POST" action="">
<table width="271" border="0">
<tr>
<td width="117">Ten nguoi quan tri:</td>
<td width="144"><input type="text" maxlength="50" name="user"></td>
</tr>
<tr>
<td>Mat khau:</td>
<td><input type="password" maxlength="50" name="pa"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Cap nhat."></td>
</tr>
</table>
</form>
PHP Code:if(isset($_POST['submit']) && $_POST['pa'] == "123456" && $_POST['user'] == "thanhhue")
Bước 2
Tạo 1 file có tên là file.list không có nội dung gì bên trong cả.
Bước 3
Tạo 1 file notice.txt file này dùng để thông báo phiên bản hoặc server bảo trì.
Chép các file cập nhật của bạn vào thư mục này.
Nếu muốn cập nhật cho clinet file config.pk thì bạn tạo thư mục như sau data/config/ sau đó chép file config.pk vào đấy.
Bây giờ bạn truy cập vào địa chỉ [Only registered and activated users can see links. ]
Gõ user và pass vào để tạo list cập nhật.
Ok xong phần Server.
Cấu hình cho Clinet
- Bạn vào địa chỉ [Only registered and activated users can see links. ] tải bản Update v.1.0 của mình và chép vào clinet của bạn.
- Mở file updater.ini sửa lại các thông số của server bạn.
Code:UpdateHost=http://kalonline.no-ip.info/updater UpdateFile=file.list NoticeFile=notice.txt WebsiteButtonURL=http://kalonline.no-ip.info/ UpdaterTitle=KalOnline Viet Nam
Bản này đang chạy cho server online của mình (hiện tại mình close để nâng cấp phiên bả rùi) nên chắc chắn nếu làm theo hướng dẫn sẽ được.Khách viếng thăm hãy cùng thanhhue xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
30-11-08, 03:47 PM #2
- Ngày tham gia
- Nov 2008
- Bài viết
- 1
- Thanks
- 0
- Thanked 0 Times in 0 Posts
Ðề: share bản autoupdate
Update v.1.0 Ko tải được bạn ơi coi lại giùm đi
Khách viếng thăm hãy cùng ngosithien xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
Share autoupdate cùi em xài
Bởi TNMars trong diễn đàn ReleasesTrả lời: 6Bài viết cuối: 27-06-11, 10:42 AM -
cách làm autoupdate tự động
Bởi tuthanvangmat trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 22-05-11, 07:01 PM -
Hướng dẫn cách autoupdate cho Audition
Bởi giangleloi trong diễn đàn ReleasesTrả lời: 5Bài viết cuối: 11-05-09, 09:33 AM -
Hướng dẫn delete autoupdate+GG..tìm seril+ver
Bởi dh_notable trong diễn đàn Guides - Kho Lưu trữTrả lời: 3Bài viết cuối: 01-08-07, 01:50 PM