WatPz – Lua!从入门到入土(一)

– 拥有自己的服务器 –

想要开服?没有自己的服务器怎么行?
啥?怎么搞服务器?

简单,有三种方式:

  1. 用家里机子开(缺点:家用宽带质量普遍不高,不同地区的可能无法进入服务器)
  2. 网上租用机子(缺点:有延迟,若人太多可能不如家用机流畅(针对自己而言))
  3. 找些大佬白嫖(我就是用这种方式


那么在这里,我们讲一下前两种的步骤(第三种别问我,看脸

家用机

如果你只是临时开服,完全可以打开 CS2D : “新建游戏”
假设你比较讲究,开服前或者玩耍过程中,可以在服务器设置里面改改(懒的话不用管)

至于如何让别人加入你的服务器呢?有两种方式

  1. 你可以直接让你朋友在一坨服务器里面找名字
    (当然,你要是敢这么搞,这友谊的小船不知道能划多久 xD)
  2. 用你的浏览器打开 CS2D服务器列表 ,按 Ctrl+F 搜索
    自己服务器的名字如果找得到,证明你的服务器已经在 CS2DUSGN官方服务器列表 登记了
    这时候你 服务器名字 前面的 那一坨数字 就是你的 IP 和 Port

啥? IPPort 是什么?
你也不用管,复制粘贴给你的朋友就完事了,反正后面会讲(好敷衍)

那找不到呢?可能是还没登记,F5 刷新界面
再按 Ctrl+F 重新搜索(不按 Ctrl+F 没法找到,注意!)

这样关于家用机的一个服务器创建就讲完了,因为毕竟不是常规手段,
所以重点还是放在第二种方法也就是租用机上面(你TM就是想要省字数 .-.

租用机

Easy peasy, lemonsqueasy~

咳咳,说正事
首先你要搞清楚,你的服务器是什么系统(不知道系统是啥?你是地球人吗?滚去百度

我们先讲比较低级并且好操作的Windows系统

具体步骤如下:

  1. 买机子(这不废话?讲重点)
  2. 远程机子(???)
    远程可以用 Windows系统自带的 mstsc,或者你用 别的第三方软件 也行
    (推荐mstsc,简单好用)
  3. 在机子上面把你服务器要的文件全部放上去
    如果不清楚放什么,整个 CS2D 的游戏文件全部放都行(反正也占不了多少硬盘空间)
  4. 然后到官网,下载最新的 CS2D-Server 服务端,网址不知道?点这里
    把服务端放到你 CS2D 服务器文件夹的根目录(就是和 你的 CS2D 游戏程序 放在一起)
  5. 用手启动服务端(这步骤没必要讲吧?)

然后是头疼的 Linux / Unix 端

Linux 的话,没有可视化界面,看上去麻烦很多,不过其实也很简单!
虽然上传文件没有那啥 mstsc ,又是小黑框,没接触过的萌新很容易懵逼

但是,我们可以用第三方软件,简化这个上传过程嘛
比如这款 WinSCP,我们就可以通过它实现对远程文件的传输
(具体的食用方法百度,然后过程一样啦~)

放文件,运行 CS2D-Server 端(sh文件后缀)(这是下载地址

Mac端:我呢?

因为老子不用 Mac,而且这东西嘛 .. 开服也不现实,所以不讲
(顺带一提,CS2D 现在无法在 Mac 上面玩了,只能装虚拟机(人家苹果 不支持32位程序 了))
Mac:????,这是我的下载地址(估计也不会有人下)

– 服务器核心文件解析 –

连自己的服务器都搞不懂,你算哪门子腐竹?
为了不给广大人民群众丢脸,在这里讲讲各个文件夹及子文件的作用:

gfx -> 图片文件
sfx -> 声音文件
sys -> 服务器核心文件
maps -> 地图文件
mods -> 模组文件(用得较少)
bots -> 人机文件(用得较少)

重点还是放在 sys 文件夹上

  1. bans.lst
    保存被ban玩家的名单(最好不要修改)
  2. controls.lst
    控制台命令列表(不懂千万别修改!)
  3. mapcycle.cfg
    保存了在游戏中按V可以打开的菜单中所有地图的名称
    (简单来说就是,这个文件保存了可以玩的地图的名字)
    (就算有地图,也必须在里面添加才能让玩家选!不然正常情况下没法玩)
  4. more.cfg
    一些 临时比较特殊独立 的设置
    不想要放在 server.cfg 里面的话,也可以单独放在这里,便于修改
  5. server.cfg
    服务器 核心设置!特别重要!!!
  6. serverinfo.txt
    这个文件决定了,你的玩家看到的 公告内容
    (支持 xml 格式)
  7. servertransfer.lst
    服务器下载列表,所有需要下载的文件都要放在这里面,让别人下载去
    (由于 CS2D 官方 的问题,如果这个文件的 内容出错 将导致 文件内容清零
     最好修改完后,将其设置为 “只读”
    (就是 gfxsfx 的资源啦,格式为 gfx/xxx/xxx.pngsfx 同理))
    (地图会 自动下载,并不需要写在里面)
  8. Lua 文件夹
    这个文件夹里面,放了你服务器的 Lua 插件,后面我们会经常使用到
  9. logs 文件夹
    这个文件夹里面都是 服务器日志,记录了很多东西
    (不过官方的这个日志系统做得不是很好,一般都是要自己写 Lua 插件补充内容
    有人骂我这个腐竹?去里面找(腹黑)

– Lua的开发环境搭建 –

想要学 Lua,你连个可以开发和测试的地方都没有,咋搞?
你上战场打仗,连枪都没有,拿拳头打别人坦克?

工欲善必先利其器

写代码,肯定要有一个良好的开发工具(IDE

那么用什么工具呢?在这里做一个推荐(仅仅针对 Windows端Mac 的话 百度 xCode
对于 Lua 来说,本地的开发环境肯定是我们的 vsCode
(你硬是用记事本,我也没法(毕竟微软爸爸宇宙第一 xD))

用的理由嘛 .. 因为他的开发功能很多,用起来很爽
那么,该如何下载?这是下载传送门:点我下载 vsCode
(具体安装步骤可以百度,这里不讲)

安装完毕后,如果你打开 vsCode 发现一团黑,什么都看不到
这证明,你电脑的 .NET Framework 版本太低了
这是微软官方的下载地址:点我下载 .NET Framework

安装扩展

等我们打开 vsCode,发现全是英文!看都看不懂!咋办?
别急,先在你 vsCode 的左边,找到这个图标:(或者直接按 Ctrl+Shift+X

输入 Chinese (Simplified) Language Pack for Visual Studio Code
当然,你懒的话,直接输个 Chinese 就行
在找到扩展后,点击那个绿色的 Install 即可安装

他会提示你重启,点击 Restart Now 后,你的 vsCode 就变成中文的了!
紧接着,我们如法炮制,把这些扩展也装了:

  • Dracula Official -> 非常好看的代码 装饰主题(喜欢别的?点这里
    (本网站所有代码 都用的是这个主题
  • LuaCoderAssist -> 专门针对 Lua 开发的一个扩展
    (我专门用来格式化代码(格式化快捷:Shift+Alt+F))
  • Bookmarks -> 用来快速跳转的书签扩展,毕竟 vsCode 自带的分屏有点占空间
    (快捷键如下)
    Ctrl+Alt+J 上一个书签)
    Ctrl+Alt+K 设置书签)
    Ctrl+Alt+L 下一个书签)
    (可以和 Ctrl+U 返回上一个位置 以及 Ctrl+G 转换行 配合使用)

还有一些比较常用的快捷键:

  • Ctrl+F 查找
  • Ctrl+G 跳转行
  • Ctrl+H 替换
  • Ctrl+K+S 打开 键盘快捷方式面板

因为 LuaCoderAssist 的格式化,缩进字符 用的是 空格
但实际使用中,我们一般将 制表符 作为 缩进字符

所以可以用刚才提到的 Ctrl+K+S 打开 键盘快捷方式面板
然后在搜索框输入 将缩进转换为制表符
再绑定一个你顺手的快捷 (我用的是 Ctrl+K Ctrl+Tab
(当然,这无关大雅,可以不整)

– Lua的开发环境搭建 –

良师益友,肯定是你学习 Lua 道路上的不可缺少的伙伴
在这里,给各位推荐几种进步的方法:

  1. 上网学习有关的教程(比如 w3schoolrunoob,入门够了)
  2. 查阅这方面的书籍,比如《Lua程序设计(第四版)》,这本书就写得很好
  3. 找 NB 的大佬学习,有啥问题就找他们问
    (当然,这些大佬本身要 有时间 ,而且你的问题不能太过 弱智
    (不然人家会认为你是 来找茬的 或者 一个伸手党

当你觉得Lua学习枯燥时,不要马上就泄气,首先你要明确自己的态度:

  • 先问问自己,想不想学好?如果连这个问题都无法回答
    那你还是不适合走这条路,现在就可以关掉浏览器了
  • 然后再正视难度,编程的入门确实不容易,但是也不是很难,至少地球人都能理解
    很多人学不下去,只是因为他们想当一个安逸的伸手党,根本没有努力的决心
    看到一点点困难就:“哎呀,好难啊,不学了”

    自己一开始就没有端正态度!怎么可能学好!
    Lua作为一门灵活轻便的脚本语言,相比其他的编程语言来说,很明显难度降低了很多
    这你都不懂,还搞什么编程?洗洗睡吧
  • 必须承认,新手在刚开始接触的时候
    各种不知所云的术语,各种光速跳跃的思维,很容易把脑袋搞晕
    但是你只要回过头看看前面的内容,其实用不了多久就可以理解了,你会发现根本就不难!