本文参考HoPGoldy的screeps 配置无需游戏客户端的开发环境,并做了一些补充,尽量于一次性的方式完成所有配置。
1、首选新建一个文件夹,右键背景打开cmd,依次执行以下代码
npm init
(一直回车)
npm install @types/screeps @types/lodash@3.10.1
npm install screeps-multimeter --save-dev
安装完成后打开./package.json,在scripts字段下添加一个新属性start,如下:
"scripts": {
"start": "multimeter"
},
2、开始初始化终端
执行命令
npm start
启动之后就会弹出如下页面,提示你没有找到配置文件,按任意键进行初始化,或者按 C退出。
然后会让你输入一个api token,因为我们是要连接私服,所以直接为空回车
输入服务器IP,输入服务器端口号,输入你的账号,输入你的密码,shard默认为shard0,然后会让你选择配置项保存的文件名,也默认即可。
然后这个时候会报错。
I、如果是Error,No Authorized,说明服务器没有把你的信息录入,需要登录游戏进入私服创建账号,然后服主使用服务器CLI在后台进行注册(服务器需要安装插件)
II、如果是Error ENOENT:no such file or directory,是因为缺包,执行
npm install -g screeps-multimeter
3、这个时候应该可以连接上了,接下来是实现本地提交代码,还在在同一个项目下
# 全局安装 grunt 命令行工具
npm install -g grunt-cli
# 在项目中安装 grunt 及 grunt-screeps、grunt-contrib-watch 模块
npm install grunt grunt-screeps grunt-contrib-watch --save-dev
安装完成后在项目中新建一个Gruntfile.js文件,并填入如下内容,注意将其中的YOUR_EMAIL、YOUR_PASSWORD的值改成你的账号和密码,而default是提交到的分支
module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-screeps')
grunt.loadNpmTasks('grunt-contrib-watch')
grunt.initConfig({
screeps: {
options: {
server: {
host: 'xxxxxx',
port: '21025',
http: true },
email: 'xxxxxx',
password: 'xxxxxx',
branch: 'default',
ptr: false
},
dist: {
src: ['dist/*.{js,wasm}']
}
},
watch: {
files: "dist/*.*",
tasks: [ "screeps" ]
}
})
grunt.registerTask('default', ['watch']);
}
然后我们在项目目录下新建个dist文件夹,并把我们的代码复制进去。注意!一定要确保dist文件夹中的代码存在!上传之后dist文件夹里的文件会直接覆盖你的线上文件。如果dist里什么都没有时执行了上传命令,那你的线上代码就会直接消失。当你确认完之后就可以执行如下命令启动任务了:
grunt