share bản autoupdate
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 2 của 2

Chủ đề: share bản autoupdate

  1. #1
    Thành Viên
    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>&nbsp;</td>
        <td><input type="submit" name="submit" value="Cap nhat."></td>
      </tr>
    </table>
    </form>
    Chú Ý đoạn này
    PHP Code:
    if(isset($_POST['submit']) && $_POST['pa'] == "123456" && $_POST['user'] == "thanhhue"
    Đây chính là user và pass của admin để cập nhật, bạn có thể thay đổi theo ý bạn

    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
    Ok như vậy là xong vào clinet chay file kalonline.exe và xem nó có làm việc không nhé :wink:

    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é!

  2. #2
    Thành Viên
    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ự

  1. Share autoupdate cùi em xài
    Bởi TNMars trong diễn đàn Releases
    Trả lời: 6
    Bài viết cuối: 27-06-11, 10:42 AM
  2. cách làm autoupdate tự động
    Bởi tuthanvangmat trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 22-05-11, 07:01 PM
  3. Hướng dẫn cách autoupdate cho Audition
    Bởi giangleloi trong diễn đàn Releases
    Trả lời: 5
    Bài viết cuối: 11-05-09, 09:33 AM
  4. 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: 3
    Bài viết cuối: 01-08-07, 01:50 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 06:27 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.