Commit c7ffc71f authored by mercury233's avatar mercury233

revert

parent 2a6e56ee
......@@ -6,7 +6,7 @@ spawnSync = require('child_process').spawnSync
ygopro = require './ygopro.js'
bunyan = require 'bunyan'
moment = require 'moment'
redis = require 'redis'
#redis = require 'redis'
moment.locale('zh-cn', { relativeTime : {
future : '%s内',
past : '%s前',
......@@ -25,7 +25,7 @@ moment.locale('zh-cn', { relativeTime : {
settings = require './config.json'
log = bunyan.createLogger name: "mycard-room"
redisdb = redis.createClient host: "127.0.0.1", port: settings.modules.redis_port
#redisdb = redis.createClient host: "127.0.0.1", port: settings.modules.redis_port
#获取可用内存
get_memory_usage = ()->
......@@ -323,6 +323,7 @@ class Room
#积分
return if @deleted
#log.info 'room-delete', this.name, Room.all.length
###
if @player_datas.length
replay_buffer = Buffer.concat(@watcher_buffers).toString('binary')
player_names=@player_datas[0].name + (if @player_datas[2] then "+" + @player_datas[2].name else "") +
......@@ -341,6 +342,7 @@ class Room
recorded_ip.push player.ip
redisdb.lpush(player.ip+":replays", replay_id)
return
###
@watcher_buffers = []
@players = []
@watcher.end() if @watcher
......
// Generated by CoffeeScript 1.10.0
(function() {
var Room, _, bunyan, get_memory_usage, log, moment, redis, redisdb, settings, spawn, spawnSync, ygopro;
var Room, _, bunyan, get_memory_usage, log, moment, settings, spawn, spawnSync, ygopro;
_ = require('underscore');
......@@ -18,8 +18,6 @@
moment = require('moment');
redis = require('redis');
moment.locale('zh-cn', {
relativeTime: {
future: '%s内',
......@@ -44,11 +42,6 @@
name: "mycard-room"
});
redisdb = redis.createClient({
host: "127.0.0.1",
port: settings.modules.redis_port
});
get_memory_usage = function() {
var actualFree, buffers, cached, free, line, lines, percentUsed, prc_free, total;
prc_free = spawnSync("free", []);
......@@ -419,27 +412,31 @@
}
Room.prototype["delete"] = function() {
var date_time, index, player_names, recorded_ip, replay_buffer, replay_id;
var index;
if (this.deleted) {
return;
}
if (this.player_datas.length) {
replay_buffer = Buffer.concat(this.watcher_buffers).toString('binary');
player_names = this.player_datas[0].name + (this.player_datas[2] ? "+" + this.player_datas[2].name : "") + " VS " + this.player_datas[1].name + (this.player_datas[3] ? "+" + this.player_datas[3].name : "");
date_time = moment().format('YYYY-MM-DD HH:mm:ss');
replay_id = Math.floor(Math.random() * 100000000);
redisdb.hmset("replay:" + replay_id, "replay_id", replay_id, "replay_buffer", replay_buffer, "player_names", player_names, "date_time", date_time);
recorded_ip = [];
_.each(this.player_datas, (function(_this) {
return function(player) {
if (_.contains(recorded_ip, player.ip)) {
return;
}
recorded_ip.push(player.ip);
redisdb.lpush(player.ip + ":replays", replay_id);
};
})(this));
}
/*
if @player_datas.length
replay_buffer = Buffer.concat(@watcher_buffers).toString('binary')
player_names=@player_datas[0].name + (if @player_datas[2] then "+" + @player_datas[2].name else "") +
" VS " +
@player_datas[1].name + (if @player_datas[3] then "+" + @player_datas[3].name else "")
date_time=moment().format('YYYY-MM-DD HH:mm:ss')
replay_id=Math.floor(Math.random()*100000000)
redisdb.hmset("replay:"+replay_id,
"replay_id", replay_id,
"replay_buffer", replay_buffer,
"player_names", player_names,
"date_time", date_time)
recorded_ip=[]
_.each @player_datas, (player)=>
return if _.contains(recorded_ip, player.ip)
recorded_ip.push player.ip
redisdb.lpush(player.ip+":replays", replay_id)
return
*/
this.watcher_buffers = [];
this.players = [];
if (this.watcher) {
......
......@@ -18,8 +18,8 @@ bunyan = require 'bunyan'
moment = require 'moment'
redis = require 'redis'
redisdb = redis.createClient host: "127.0.0.1", port: settings.modules.redis_port
#redis = require 'redis'
#redisdb = redis.createClient host: "127.0.0.1", port: settings.modules.redis_port
#heapdump = require 'heapdump'
......@@ -110,7 +110,7 @@ net.createServer (client) ->
ygopro.stoc_send_chat(client, "服务器错误: #{error}", 11)
client.end()
return
###
client.open_cloud_replay= (err, replay)->
if err or !replay
ygopro.stoc_send_chat(client,"没有找到录像", 11)
......@@ -125,7 +125,7 @@ net.createServer (client) ->
client.write replay_buffer
client.end()
return
###
#需要重构
#客户端到服务端(ctos)协议分析
ctos_buffer = new Buffer(0)
......@@ -264,7 +264,8 @@ ygopro.ctos_follow 'JOIN_GAME', false, (buffer, info, client, server)->
code: 2
}
client.end()
###
else if info.pass.toUpperCase()=="R"
ygopro.stoc_send_chat(client,"以下是您近期的云录像,密码处输入 R#录像编号 即可观看", 14)
redisdb.lrange client.remoteAddress+":replays", 0, 2, (err, result)=>
......@@ -281,7 +282,7 @@ ygopro.ctos_follow 'JOIN_GAME', false, (buffer, info, client, server)->
code: 2
}
client.end()), 500
else if info.pass[0...2].toUpperCase()=="R#"
replay_id=info.pass.split("#")[1]
if (replay_id>0 and replay_id<=3)
......@@ -297,8 +298,8 @@ ygopro.ctos_follow 'JOIN_GAME', false, (buffer, info, client, server)->
code: 2
}
client.end()
###
else if info.version != settings.version
ygopro.stoc_send_chat(client,settings.modules.update, 11)
ygopro.stoc_send client, 'ERROR_MSG',{
......
// Generated by CoffeeScript 1.10.0
(function() {
var Graveyard, Room, _, bunyan, debug, dialogues, execFile, fs, http, http_server, log, moment, net, os, path, redis, redisdb, request, settings, tips, tribute, url, wait_room_start, ygopro;
var Graveyard, Room, _, bunyan, debug, dialogues, execFile, fs, http, http_server, log, moment, net, os, path, request, settings, tips, tribute, url, wait_room_start, ygopro;
net = require('net');
......@@ -28,13 +28,6 @@
moment = require('moment');
redis = require('redis');
redisdb = redis.createClient({
host: "127.0.0.1",
port: settings.modules.redis_port
});
settings = require('./config.json');
settings.BANNED_user = [];
......@@ -138,22 +131,23 @@
client.end();
}
});
client.open_cloud_replay = function(err, replay) {
var replay_buffer;
if (err || !replay) {
ygopro.stoc_send_chat(client, "没有找到录像", 11);
ygopro.stoc_send(client, 'ERROR_MSG', {
msg: 1,
/*
client.open_cloud_replay= (err, replay)->
if err or !replay
ygopro.stoc_send_chat(client,"没有找到录像", 11)
ygopro.stoc_send client, 'ERROR_MSG',{
msg: 1
code: 2
});
client.end();
return;
}
replay_buffer = new Buffer(replay.replay_buffer, 'binary');
ygopro.stoc_send_chat(client, "正在观看云录像:R#" + replay.replay_id + " " + replay.player_names + " " + replay.date_time, 14);
client.write(replay_buffer);
client.end();
};
}
client.end()
return
replay_buffer=new Buffer(replay.replay_buffer,'binary')
ygopro.stoc_send_chat(client,"正在观看云录像:R##{replay.replay_id} #{replay.player_names} #{replay.date_time}", 14)
client.write replay_buffer
client.end()
return
*/
ctos_buffer = new Buffer(0);
ctos_message_length = 0;
ctos_proto = 0;
......@@ -289,7 +283,7 @@
});
ygopro.ctos_follow('JOIN_GAME', false, function(buffer, info, client, server) {
var k, len, ref, replay_id, room;
var k, len, ref, room;
if (settings.modules.stop) {
ygopro.stoc_send_chat(client, settings.modules.stop, 11);
ygopro.stoc_send(client, 'ERROR_MSG', {
......@@ -297,44 +291,41 @@
code: 2
});
client.end();
} else if (info.pass.toUpperCase() === "R") {
ygopro.stoc_send_chat(client, "以下是您近期的云录像,密码处输入 R#录像编号 即可观看", 14);
redisdb.lrange(client.remoteAddress + ":replays", 0, 2, (function(_this) {
return function(err, result) {
_.each(result, function(replay_id, id) {
redisdb.hgetall("replay:" + replay_id, function(err, replay) {
ygopro.stoc_send_chat(client, "<" + (id - 0 + 1) + "> R#" + replay_id + " " + replay.player_names + " " + replay.date_time, 14);
});
});
};
})(this));
setTimeout(((function(_this) {
return function() {
ygopro.stoc_send(client, 'ERROR_MSG', {
msg: 1,
code: 2
});
return client.end();
};
})(this)), 500);
} else if (info.pass.slice(0, 2).toUpperCase() === "R#") {
replay_id = info.pass.split("#")[1];
if (replay_id > 0 && replay_id <= 3) {
redisdb.lindex(client.remoteAddress + ":replays", replay_id - 1, (function(_this) {
return function(err, replay_id) {
redisdb.hgetall("replay:" + replay_id, client.open_cloud_replay);
};
})(this));
} else if (replay_id) {
redisdb.hgetall("replay:" + replay_id, client.open_cloud_replay);
} else {
ygopro.stoc_send_chat(client, "没有找到录像", 11);
ygopro.stoc_send(client, 'ERROR_MSG', {
msg: 1,
/*
else if info.pass.toUpperCase()=="R"
ygopro.stoc_send_chat(client,"以下是您近期的云录像,密码处输入 R#录像编号 即可观看", 14)
redisdb.lrange client.remoteAddress+":replays", 0, 2, (err, result)=>
_.each result, (replay_id,id)=>
redisdb.hgetall "replay:"+replay_id, (err, replay)=>
ygopro.stoc_send_chat(client,"<#{id-0+1}> R##{replay_id} #{replay.player_names} #{replay.date_time}", 14)
return
return
return
#强行等待异步执行完毕_(:з」∠)_
setTimeout (()=>
ygopro.stoc_send client, 'ERROR_MSG',{
msg: 1
code: 2
});
client.end();
}
}
client.end()), 500
else if info.pass[0...2].toUpperCase()=="R#"
replay_id=info.pass.split("#")[1]
if (replay_id>0 and replay_id<=3)
redisdb.lindex client.remoteAddress+":replays", replay_id-1, (err, replay_id)=>
redisdb.hgetall "replay:"+replay_id, client.open_cloud_replay
return
else if replay_id
redisdb.hgetall "replay:"+replay_id, client.open_cloud_replay
else
ygopro.stoc_send_chat(client,"没有找到录像", 11)
ygopro.stoc_send client, 'ERROR_MSG',{
msg: 1
code: 2
}
client.end()
*/
} else if (info.version !== settings.version) {
ygopro.stoc_send_chat(client, settings.modules.update, 11);
ygopro.stoc_send(client, 'ERROR_MSG', {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment