无论页游或是手游都需要经常进行更新,而每一次更新几乎都是一部血泪吏。这里重点介绍一下前端资源打包的简化操作。目前2D手游主流都采用了cocos2d-x 绑lua的做法,因为lua相当于一种资源可以进行动态更新。只要底部的c++代码不需要改动,几乎整个游戏都可以动态更新掉,而更新这个动作如果交由手工操作,很容易出问题而且效率极低。

 

有没有比较好的解决方案呢?先理一下思路,更新无外乎找到需要更新的文件,然后这些文件中有些可能是需要进行加密或者压缩的。

 

那先分解一下这个过程

 

第一步:找到需要更新的文件

一般windows我们主要使用的是svn(git我没尝试过,应该跟这个差不多),我们使用svn的命令工具,传入需要更新的版本信息,从X版本至Y版本中间的提交动作全部列出来

svn log project_svn_path –-xml –v –r oldVer:newVer >xx.xml

关于命令行的详情描述,请参考这里>>

 

第二步:根据规则对指定的文件进行加工处理

因为第一步已经得到所需要更新的资料文件了,这一步其实相对就很简单了,要替换的替换,要压缩的压缩,要修改的就修改

 

第三步:通过ftp上传资源至指定的服务器,然后同步至CDN

 

第四步:测试通过后,更新当前公网的资源版本号,并通过游戏服务器广播在线玩家,提醒有资源需要更新(分为强制/非强制,强制更新就是必须重启后才能继续游戏,非强制就是玩家可以不更新继续玩,如何设定就看需求了)

 

工具正在整合中,如果您有更好的想法或是意见,欢迎邮件交流。meteoric_cry#qq.com  :) 

利用svn log命令实现的资源版本更新的更多相关文章

  1. SVN Log命令常用组合【转】

    转自:https://blog.csdn.net/xuanwenchao/article/details/8875103 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请 ...

  2. 如何利用svn自动同步更新到网站服务器

    我们最终的目的是:当本地提交后,SVN服务器自动更新服务器端指定WEB目录内的文件 实现方法: 找到服务器端 SVN版本库所在的目录(目录名称是Repositories),这个目录是在安装Visual ...

  3. php利用svn hooks将程序自动发布到测试环境

    利用svn hooks将php程序自动发布到测试环境 复制仓库hooks目录下的post-commit.tmpl为post-commit cp post-commit.tmpl post-commit ...

  4. SVN标准命令

    SVN标准命令 范例 checkout 检出 svn  co  URL 检出app/search/news/apache/主干上最新版本到本地工作副本,可执行命令: svn co  https://s ...

  5. ubuntu下svn的命令使用

    Subversion的官方网站是:http://subversion.tigris.org/ SVN简介 SVN(Subversion)是一个自由.开源的项目源代码版本控制工具.目前,绝大多数开源软件 ...

  6. SVN常用命令详解

    命令的使用1.检出 svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路 ...

  7. svn客户端命令

    记几个常用的命令. 首次拉仓库时,先要进行检出(url可以带端口号): svn checkout http://svn.example.com:9834/repos svn checkout file ...

  8. linux下svn常用命令

    (如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这个时候需要用到import: eg:svn import . url) 1.将文件checkout到本地目 ...

  9. [转]svn常用命令

    谢谢原作者:http://blog.sina.com.cn/s/blog_963453200101eiuq.html 1.检出svn  co  http://路径(目录或文件的全路径) [本地目录全路 ...

随机推荐

  1. Learning coding online

    A lot of online courses for coding skills are available nowadays, both free and non-free. I will col ...

  2. IdentityServer4 And AspNetCore.Identity Get AccessToken 问题

    结合 AspNetCore.Identity  主要就是下载 官方的IdentityServer4.AspNetIdentity 这个包 下面来看下源码 里面帮助我们处理了 IUserClaimsPr ...

  3. spring配置文件详解以及beans:beans标签

    第一行的意思就是你这个文件的默认schema为security,所以你的beans定义就需要加上前缀beans 一般的定义文件默认都是beans: 下面是spring配置文件的详解: 转自:http: ...

  4. flask 封装

    #!/bin/env python# _*_coding:utf-8_*_#!!!!!!!!!!!!describe:this script shoud install python-devel an ...

  5. opencv 学习资料

    [视觉与图像]OpenCV篇:Python+OpenCV实用教程 Python+OpenCV教程15:直方图

  6. 简单实现一个EventEmiter

    在前端开发中,“发布-订阅”也是“观察者模式”是一种常用的设计模式:之前对设计模式没有过深的认识,直到前段时间在封装一个运用AngularJS封装table组件时,遇到一个难题,那就是AngularJ ...

  7. odoo 工作流

    odoo工作流 介绍 新版本的odoo开始减少workflow的使用,推荐使用workflow-ish的方式来处理工作流过程 很多模块中还是使用到工作流,这里我记录一个简单的实例,欢迎大家给出建议. ...

  8. web前端面试经历分享

    十天前,我还在纠结这个暑假到底是呆在实验室研究技术好还是找一份实习见识世面好,而现在我已经接到offer准备工作了.这几天真是累得够呛,一方面需要拼命准备期末考试,另一方面,需要往公司里面跑接受面试. ...

  9. gson 生成json有\u003d异常字符处理

    只需将Gson的初始化修改为 Gson gson = new GsonBuilder().disableHtmlEscaping().create(); 连接 http://blog.csdn.net ...

  10. Codeforces.643E.Bear and Destroying Subtrees(DP 期望)

    题目链接 \(Description\) 有一棵树.Limak可以攻击树上的某棵子树,然后这棵子树上的每条边有\(\frac{1}{2}\)的概率消失.定义 若攻击以\(x\)为根的子树,高度\(ht ...