Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
S
srvpro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
srvpro
Commits
9947112d
Commit
9947112d
authored
5 years ago
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'plugins' into mc
parents
2e38ee98
e8ef0195
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
431 additions
and
228 deletions
+431
-228
.dockerignore
.dockerignore
+37
-0
.gitignore
.gitignore
+1
-0
ygopro-server.coffee
ygopro-server.coffee
+116
-87
ygopro-server.js
ygopro-server.js
+151
-96
ygopro.coffee
ygopro.coffee
+45
-16
ygopro.js
ygopro.js
+81
-29
No files found.
.dockerignore
View file @
9947112d
# ignore
jsconfig.json
coffeelint.json
.vscode/
password.json
config.*.json
config.user.bak
/bak
/config
/ygopro
/windbot
/decks
/decks_save*
/replays
/node_modules
/ssl
/ygosrv233
/challonge
/logs
/plugins
test*
*.heapsnapshot
*.tmp
*.bak
*.log
*.map
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
.DS_Store
.git*
.dockerignore
Dockerfile*
...
...
This diff is collapsed.
Click to expand it.
.gitignore
View file @
9947112d
...
...
@@ -19,6 +19,7 @@ config.user.bak
/ygosrv233
/challonge
/logs
/plugins
test*
*.heapsnapshot
...
...
This diff is collapsed.
Click to expand it.
ygopro-server.coffee
View file @
9947112d
This diff is collapsed.
Click to expand it.
ygopro-server.js
View file @
9947112d
This diff is collapsed.
Click to expand it.
ygopro.coffee
View file @
9947112d
...
...
@@ -37,26 +37,55 @@ for name, declaration of structs_declaration
#消息跟踪函数 需要重构, 另暂时只支持异步, 同步没做.
@
stoc_follows
=
{}
@
stoc_follows_before
=
{}
@
stoc_follows_after
=
{}
@
ctos_follows
=
{}
@
ctos_follows_before
=
{}
@
ctos_follows_after
=
{}
@
replace_proto
=
(
proto
,
tp
)
->
if
typeof
(
proto
)
!=
"string"
return
proto
changed_proto
=
proto
for
key
,
value
of
@
constants
[
tp
]
if
value
==
proto
changed_proto
=
key
break
throw
"unknown proto"
if
!
@
constants
[
tp
][
changed_proto
]
return
changed_proto
@
stoc_follow
=
(
proto
,
synchronous
,
callback
)
->
if
typeof
proto
==
'string'
for
key
,
value
of
@
constants
.
STOC
if
value
==
proto
proto
=
key
break
throw
"unknown proto"
if
!
@
constants
.
STOC
[
proto
]
@
stoc_follows
[
proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
}
changed_proto
=
@
replace_proto
(
proto
,
"STOC"
)
@
stoc_follows
[
changed_proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
}
return
@
stoc_follow_before
=
(
proto
,
synchronous
,
callback
)
->
changed_proto
=
@
replace_proto
(
proto
,
"STOC"
)
if
!
@
stoc_follows_before
[
changed_proto
]
@
stoc_follows_before
[
changed_proto
]
=
[]
@
stoc_follows_before
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
})
return
@
stoc_follow_after
=
(
proto
,
synchronous
,
callback
)
->
changed_proto
=
@
replace_proto
(
proto
,
"STOC"
)
if
!
@
stoc_follows_after
[
changed_proto
]
@
stoc_follows_after
[
changed_proto
]
=
[]
@
stoc_follows_after
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
})
return
@
ctos_follow
=
(
proto
,
synchronous
,
callback
)
->
if
typeof
proto
==
'string'
for
key
,
value
of
@
constants
.
CTOS
if
value
==
proto
proto
=
key
break
throw
"unknown proto"
if
!
@
constants
.
CTOS
[
proto
]
@
ctos_follows
[
proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
}
changed_proto
=
@
replace_proto
(
proto
,
"CTOS"
)
@
ctos_follows
[
changed_proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
}
return
@
ctos_follow_before
=
(
proto
,
synchronous
,
callback
)
->
changed_proto
=
@
replace_proto
(
proto
,
"CTOS"
)
if
!
@
ctos_follows_before
[
changed_proto
]
@
ctos_follows_before
[
changed_proto
]
=
[]
@
ctos_follows_before
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
})
return
@
ctos_follow_after
=
(
proto
,
synchronous
,
callback
)
->
changed_proto
=
@
replace_proto
(
proto
,
"CTOS"
)
if
!
@
ctos_follows_after
[
changed_proto
]
@
ctos_follows_after
[
changed_proto
]
=
[]
@
ctos_follows_after
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
})
return
#消息发送函数,至少要把俩合起来....
@
stoc_send
=
(
socket
,
proto
,
info
)
->
...
...
@@ -171,4 +200,4 @@ for name, declaration of structs_declaration
if
client
client
.
system_kicked
=
true
client
.
destroy
()
return
\ No newline at end of file
return
This diff is collapsed.
Click to expand it.
ygopro.js
View file @
9947112d
...
...
@@ -58,50 +58,102 @@
this
.
stoc_follows
=
{};
this
.
stoc_follows_before
=
{};
this
.
stoc_follows_after
=
{};
this
.
ctos_follows
=
{};
this
.
stoc_follow
=
function
(
proto
,
synchronous
,
callback
)
{
var
key
,
ref
,
value
;
if
(
typeof
proto
===
'
string
'
)
{
ref
=
this
.
constants
.
STOC
;
for
(
key
in
ref
)
{
value
=
ref
[
key
];
if
(
value
===
proto
)
{
proto
=
key
;
break
;
}
}
if
(
!
this
.
constants
.
STOC
[
proto
])
{
throw
"
unknown proto
"
;
this
.
ctos_follows_before
=
{};
this
.
ctos_follows_after
=
{};
this
.
replace_proto
=
function
(
proto
,
tp
)
{
var
changed_proto
,
key
,
ref
,
value
;
if
(
typeof
proto
!==
"
string
"
)
{
return
proto
;
}
changed_proto
=
proto
;
ref
=
this
.
constants
[
tp
];
for
(
key
in
ref
)
{
value
=
ref
[
key
];
if
(
value
===
proto
)
{
changed_proto
=
key
;
break
;
}
}
this
.
stoc_follows
[
proto
]
=
{
if
(
!
this
.
constants
[
tp
][
changed_proto
])
{
throw
"
unknown proto
"
;
}
return
changed_proto
;
};
this
.
stoc_follow
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
STOC
"
);
this
.
stoc_follows
[
changed_proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
};
};
this
.
ctos_follow
=
function
(
proto
,
synchronous
,
callback
)
{
var
key
,
ref
,
value
;
if
(
typeof
proto
===
'
string
'
)
{
ref
=
this
.
constants
.
CTOS
;
for
(
key
in
ref
)
{
value
=
ref
[
key
];
if
(
value
===
proto
)
{
proto
=
key
;
break
;
}
}
if
(
!
this
.
constants
.
CTOS
[
proto
])
{
throw
"
unknown proto
"
;
}
this
.
stoc_follow_before
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
STOC
"
);
if
(
!
this
.
stoc_follows_before
[
changed_proto
])
{
this
.
stoc_follows_before
[
changed_proto
]
=
[];
}
this
.
ctos_follows
[
proto
]
=
{
this
.
stoc_follows_before
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
});
};
this
.
stoc_follow_after
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
STOC
"
);
if
(
!
this
.
stoc_follows_after
[
changed_proto
])
{
this
.
stoc_follows_after
[
changed_proto
]
=
[];
}
this
.
stoc_follows_after
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
});
};
this
.
ctos_follow
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
CTOS
"
);
this
.
ctos_follows
[
changed_proto
]
=
{
callback
:
callback
,
synchronous
:
synchronous
};
};
this
.
ctos_follow_before
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
CTOS
"
);
if
(
!
this
.
ctos_follows_before
[
changed_proto
])
{
this
.
ctos_follows_before
[
changed_proto
]
=
[];
}
this
.
ctos_follows_before
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
});
};
this
.
ctos_follow_after
=
function
(
proto
,
synchronous
,
callback
)
{
var
changed_proto
;
changed_proto
=
this
.
replace_proto
(
proto
,
"
CTOS
"
);
if
(
!
this
.
ctos_follows_after
[
changed_proto
])
{
this
.
ctos_follows_after
[
changed_proto
]
=
[];
}
this
.
ctos_follows_after
[
changed_proto
].
push
({
callback
:
callback
,
synchronous
:
synchronous
});
};
this
.
stoc_send
=
function
(
socket
,
proto
,
info
)
{
var
buffer
,
header
,
key
,
ref
,
struct
,
value
;
if
(
socket
.
closed
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment