occaecatidicta
Version:
239 lines (224 loc) • 9.72 kB
text/typescript
export let consts = {
CONSOLE_MODULE: '__console__',
PROMPT: '@omelox : ',
WELCOME_INFO: ['\nWelcome to Omelox interactive client.',
'Omelox is a fast, scalable game server framework for node.js. ',
'Type \\\'help\\\' for more information.\n'
],
HELP_INFO_1: [
'\nFor information about Omelox products and services, visit:',
' https://omelox.io/',
'\nList of all Omelox commands:\n'
],
HELP_INFO_2: [
'\nFor more command usage, type : help command',
'example: help show\n'
],
HELP_LOGIN: [
'\nWelcome to Omelox interactive client.',
'Omelox is a fast, scalable game server framework for node.js. ',
'You can use following command to connect to omelox master',
'omelox-cli -h host -P port -u user -p password',
'Default type omelox-cli equals to:',
'omelox-cli -h 127.0.0.1 -P 3005 -u admin -p admin\n'
],
COMANDS_ALL: [
['command', ' description'],
['?', ' symbol for help'],
['help', ' display the help'],
['quit', ' quit omelox-cli'],
['kill', ' kill all servers'],
['exec', ' exec script files'],
['get', ' equal to app.get(key) '],
['set', ' equal to app.set(key, value)'],
['add', ' add server to omelox clusters'],
['stop', ' stop server. Takes serverId as argument'],
['show', ' show infos like : user, servers, connections'],
['use', ' use another server. Takes serverId as argument'],
['enable', ' enable an admin console module or enable app settings'],
['disable', ' disable an admin console module or disable app settings'],
['dump', ' make a dump of the V8 heap and cpu for later inspection'],
['addCron', ' add cron for server'],
['removeCron', ' remove cron for server'],
['blacklist', ' add blacklist for frontend server'],
['run', ' run script in server']
],
COMANDS_MAP: {
'help': 1,
'add': ['\nadd server to omelox clusters',
'add args are key=value from servers.json config files',
'example: add host=127.0.0.1 port=3451 serverType=chat id=chat-server-2',
'example: add host=127.0.0.1 port=3152 serverType=connector id=connector-server-3 clientPort=3012 frontend=true\n',
],
'show': ['\nshow infos like : servers, connections',
'you can show following informations:',
'servers, connections, logins, modules, status, proxy, handler, components, settings',
'example: show servers',
'example: show connections',
'example: show proxy',
'example: show handler',
'example: show logins\n'
],
'config': ['\nconfig infos like : proxy, remote, connection, connector, session',
'you can show following informations:',
'proxy, remote, connection, connector, session, protobuf',
'localSession, channel, server, scheduler, globalChannel, monitor',
'example: show config proxy',
'example: show config remote',
'example: show config connection',
'note: show config xxx command show configuration from app.get(\\\'xxxConfig\\\')',
'in omelox you can pass opt config to component to make your like-style server',
'but you should keep in mind to use it in a proper context\n'
],
'use': ['\nuse another server. takes serverId|all as argument',
'use <serverId>|all',
'then you will switch to serverId|all context',
'your command will be applied to serverId|all server',
'example: use area-server-1',
'example: use all\n'
],
'enable': ['\nenable an admin console module or enable app settings',
'enable module <moduleId>',
'enable app <settings>',
'example: enable module systemInfo',
'example: enable app systemMonitor\n',
],
'disable': ['\ndisable an admin console module or disable app settings',
'disable module <moduleId>',
'disable app <settings>',
'example: disable module systemInfo',
'example: disable app systemMonitor\n'
],
'stop': ['\nstop server. takes serverId as argument.',
'stop <serverId>',
'example: stop area-server-1\n'
],
'kill': ['\nkill all servers.',
'example: kill',
'note: be carefull to use this command\n'
],
'dump': ['\nmake a dump of the V8 heap and cpu for later inspection',
'dump cpu|memory <filepath> [times] [--force]',
'times is the number of cpu dump costs in seconds',
'example: dump cpu /home/xxx/test 5',
'example: dump memory /home/xxx/test',
'note: you can add --force to write dump file if file existed',
'example: dump cpu /home/xxx/test 5 --force',
'example: dump memory /home/xxx/test --force\n'
],
'get': ['\nequal to app.get(key)',
'example: get <key>\n'
],
'set': ['\nequal to app.set(key, value)',
'example: set <key> <value>',
'note: value must be string\n'
],
'exec': ['\nexec script files',
'example: exec <filepath>',
'filepath can be relative path to your omelox-cli pwd path',
'example : exec xxx.js',
'equals to : exec pwd/xxx.js',
'filepath also can be absolute with \\\' / \\\' ahead',
'example : exec /home/user/xxx.js\n'
],
'addCron': ['\nadd cron for server',
'addCron args are key=value from crons.json config files',
'example: addCron id=8 serverId=chat-server-1 \'time=0 30 10 * * *\' action=chatCron.send',
'example: addCron id=8 serverType=chat \'time=0 30 10 * * *\' action=chatCron.send\n'
],
'removeCron': ['\nremove cron for server',
'example: removeCron id=8 serverId=chat-server-1',
'example: removeCron id=8 serverType=chat'
],
'blacklist': ['\nadd blacklist for frontend server',
'example: blacklist 192.168.10.120 192.168.18.60',
'example: blacklist \b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b'
],
'run': ['\nrun script in server',
'example: run app.get("sessionService").getSessionsCount()',
'example: run app.isMaster()'
]
},
COMANDS_COMPLETE_INFO: {
'help': 1,
'add': 1,
'show': 1,
'enable': 1,
'disable': 1,
'stop': 1,
'kill': 1,
'get': 1,
'set': 1,
'use': 1,
'dump': 1,
'exec': 1,
'addCron': 1,
'removeCron': 1,
'blacklist': 1,
'run': 1
},
SHOW_COMMAND: {
'servers': 1,
'connections': 1,
'logins': 1,
'modules': 1,
'status': 1,
'config': 1,
'proxy': 1,
'handler': 1,
'components': 1,
'settings': 1
},
CONTEXT_COMMAND: {
'status': 1,
'logins': 1,
'proxy': 1,
'handler': 1,
'components': 1,
'settings': 1,
'enable': 1,
'disable': 1
},
COMPLETE_TWO: {
'show': 1,
'help': 1,
'enable': 1,
'disable': 1,
'dump': 1
},
// ASCII_LOGO: [
// ".______ ______ .___ ___. _______ __ ______ ",
// "| _ ) ( __ ) | \\/ | | ____| | | ( __ ) ",
// "| |_) ) | | | | | \\ / | | |__ | | | | | | ",
// "| ___) | | | | | \\/ | | __| | | | | | | ",
// "| | | `--' | | | | | | |____ | `----. | `--' | ",
// "| _| (______) |__| |__| |_______| |_______| (______) "
// ],
ASCII_LOGO: [
'.__________________.',
'| |',
'| OMELOX |',
'|__________________|',
],
COMANDS_COMPLETE: ['help', 'quit', 'kill', 'exec', 'get', 'set',
'add', 'stop', 'show', 'use', 'enable', 'disable', 'dump', 'addCron', 'removeCron'],
COMANDS_ERROR: 'this command is error format',
COMANDS_ADD_ERROR: '\nadd command error\n',
COMANDS_ENABLE_ERROR: '\nenable command error\n',
COMANDS_DISABLE_ERROR: '\ndisable command error\n',
COMANDS_CONFIG_ERROR: '\nconfig command error\n',
COMANDS_SHOW_ERROR: '\nshow command error\n',
COMANDS_KILL_ERROR: '\nkill command error\n',
COMANDS_USE_ERROR: '\nuse command error\n',
COMANDS_STOP_ERROR: '\nstop command error\n',
COMANDS_EXEC_ERROR: '\nexec command script filepath error\n',
COMANDS_CONTEXT_ERROR: 'this command is not used in this context\nyou can use command \\\'use\\\' to switch context',
MODULE_INFO: 'there are following modules registered in omelox clusters',
COMPONENTS_INFO: 'there are following components registered in current server',
STATUS_ERROR: 'can not get status in this server',
KILL_QUESTION_INFO: 'warning : do you really want to kill all servers [yes/no] ',
STOP_QUESTION_INFO: 'warning : do you really want to stop this server [yes/no] ',
ADD_QUESTION_INFO: 'warning : do you really want to add this server [yes/no] ',
ADDCRON_QUESTION_INFO: 'warning : do you really want to add this cron [yes/no] ',
BLACKLIST_QUESTION_INFO: 'warning : do you really want to add this blacklist [yes/no] ',
};