将farOs.jar、jdk、 run.bat、ngame放在同一级目录下,然后执行run.bat即可.
正确的目录结构应该是 - ngame - jdk - farOs.jar - run.bat
在执行run.bat之前,需要设置两个地方
java -Dfile.encoding=utf-8 -XX:-UseParallelGC -Xmx512m -Xms512m -Xmn256m -jar farOs.jar game-script/conf.js
将最后的
game-script/conf.js
换成游戏目录中的conf.js地址 再启动run.bat
farmud.exe 是临时的测试服务器的客户端工具,使用C#开发,功能简单,没有开源的必要。有能力的大佬可自行开发其他版本的websocket客户端。
由于目前更新非常频繁 ngame配套的运行环境<farOs、jdk、farmud.exe、run.bat、Redis-x64-3.2.100 win免安装版>
都在群内下载963081167
adm
adm/daemons
adm/master/master.js
clone
clone/data
cmds
d
include
inherit
main
demo
conf.js
XXX` 大写的都为对象的魔法属性
__xxx__
小写的都为驱动为对象增加的超级属性
_exports_
精灵属性大佬们一定 要区别清楚这些属性,虽然感觉有点扯蛋。。。
目前暂时只支持静态页面 默认的网站目录 www 默认访问路径 http://127.0.0.1:8080
restapi 的访问路径 http://127.0.0.1:8080/api 不喜欢后面跟个api的可以用nginx做反向代理
关于对js的支持
ngame使用farOs驱动,farOs兼容了95%的js语法,除了farOs额外提供的体贴内置函数,大部分JS函数以及JS的特性都支持。
从应用框架的角度讲farOs等同于nodejs;不同的是,farOs更专注文字游戏领域。
文件
关键字
me
this
的作用,是对自己的调用,me 将作为保留关键字类模板的属性,注意 类模板的属性必须以下划线开头,子类模板才能继承
inherit/skill.js let _prop; function create() { }
//继承哪些JS 在所有代码之前要完成继承 let inherits = ([ "inherit/data.js", "inherit/room.js" ]);
//载入那些函数库 let includes = ([ "include/common.js", ]);
os.debug(arg[,args...])
os.debug("你好世界","测试");
newObj(arg1[,arg2]);
let obj = newObj("clone/user.js"); let obj = newObj("clone/user.js","clone/data/npc/xiaoyaozi.js"); //当newObj使用第二个参数,自动装载对象属性时 //被装载的文件一定要实现以下内容 let datas = { //存储属性 due:{ id:"xiaoyaozi", name:"逍遥子", }, //临时属性 temp:{ } }; let __exports__ = { datas:datas, }
D(arg[,type])
D("adm/daemons/x.js")->killAll();
D("adm/daemons/x.js#H6f751",1)->killAll();
thisObject
function a(){ } function b(){ thisObject.a(); //为了方便可以先赋值 let me = thisObject; me.a(); }
os.importx("x.js")
//x.js let datas = {}; let __exports__ = { datas:datas, } //其他文件接收 let {datas} = os.importx("x.js");