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
30fc8506
Commit
30fc8506
authored
May 05, 2020
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:moecube/srvpro into mc
parents
36e170ab
d7f1b8c2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
11 deletions
+65
-11
data/default_config.json
data/default_config.json
+6
-1
data/i18n.json
data/i18n.json
+3
-1
ygopro-server.coffee
ygopro-server.coffee
+20
-4
ygopro-server.js
ygopro-server.js
+36
-5
No files found.
data/default_config.json
View file @
30fc8506
...
...
@@ -67,11 +67,16 @@
},
"random_duel"
:
{
"enabled"
:
true
,
"default_type"
:
"S"
,
"no_rematch_check"
:
false
,
"record_match_scores"
:
false
,
"post_match_scores"
:
false
,
"post_match_accesskey"
:
"123456"
,
"blank_pass_match"
:
true
,
"blank_pass_modes"
:
{
"S"
:
true
,
"M"
:
true
,
"T"
:
false
},
"ready_time"
:
20
,
"hang_timeout"
:
90
},
...
...
data/i18n.json
View file @
30fc8506
...
...
@@ -312,7 +312,9 @@
"zh-cn"
:
{
"random_duel_enter_room_waiting"
:
"对手已经在等你了,开始决斗吧!"
,
"random_duel_enter_room_new"
:
"已建立随机对战房间,正在等待对手!"
,
"random_duel_enter_room_match"
:
"您进入了比赛模式的房间,我们推荐使用竞技卡组!"
,
"random_duel_enter_room_single"
:
"您进入了单局模式的房间,我们不推荐使用竞技卡组!密码输入M进入比赛模式,输入T进入双打模式!"
,
"random_duel_enter_room_match"
:
"您进入了比赛模式的房间,我们推荐使用竞技卡组!密码输入S进入单局模式,输入T进入双打模式!"
,
"random_duel_enter_room_tag"
:
"您进入了双打模式的房间,我们不推荐使用竞技卡组!密码输入S进入单局模式,输入M进入比赛模式!"
,
"random_banned_part1"
:
"因为您近期在游戏中多次"
,
"random_banned_part2"
:
",您已被禁止使用随机对战功能,将在"
,
"random_banned_part3"
:
"后解封"
,
...
...
ygopro-server.coffee
View file @
30fc8506
...
...
@@ -227,6 +227,15 @@ if settings.modules.challonge.api_key
settings
.
modules
.
challonge
.
options
.
apiKey
=
settings
.
modules
.
challonge
.
api_key
delete
settings
.
modules
.
challonge
.
api_key
imported
=
true
#import the old random_duel.blank_pass_match option
if
settings
.
modules
.
random_duel
.
blank_pass_match
==
true
settings
.
modules
.
random_duel
.
blank_pass_modes
=
{
"S"
:
true
,
"M"
:
true
,
"T"
:
false
}
delete
settings
.
modules
.
random_duel
.
blank_pass_match
imported
=
true
if
settings
.
modules
.
random_duel
.
blank_pass_match
==
false
settings
.
modules
.
random_duel
.
blank_pass_modes
=
{
"S"
:
true
,
"M"
:
false
,
"T"
:
false
}
delete
settings
.
modules
.
random_duel
.
blank_pass_match
imported
=
true
#finish
if
imported
setting_save
(
settings
)
...
...
@@ -619,7 +628,10 @@ ROOM_find_or_create_random = global.ROOM_find_or_create_random = (type, player_i
playerbanned
=
(
bannedplayer
and
bannedplayer
.
count
>
3
and
moment
()
<
bannedplayer
.
time
)
result
=
_
.
find
ROOM_all
,
(
room
)
->
return
room
and
room
.
random_type
!=
''
and
room
.
duel_stage
==
ygopro
.
constants
.
DUEL_STAGE
.
BEGIN
and
!
room
.
windbot
and
((
type
==
''
and
(
room
.
random_type
==
'S'
or
(
settings
.
modules
.
random_duel
.
blank_pass_match
and
room
.
random_type
!=
'T'
)))
or
room
.
random_type
==
type
)
and
((
type
==
''
and
(
room
.
random_type
==
settings
.
modules
.
random_duel
.
default_type
or
settings
.
modules
.
random_duel
.
blank_pass_modes
[
room
.
random_type
]))
or
room
.
random_type
==
type
)
and
room
.
get_playing_player
().
length
<
max_player
and
(
settings
.
modules
.
random_duel
.
no_rematch_check
or
room
.
get_host
()
==
null
or
room
.
get_host
().
ip
!=
ROOM_players_oppentlist
[
player_ip
])
and
...
...
@@ -628,7 +640,7 @@ ROOM_find_or_create_random = global.ROOM_find_or_create_random = (type, player_i
result
.
welcome
=
'${random_duel_enter_room_waiting}'
#log.info 'found room', player_name
else
if
memory_usage
<
90
type
=
if
type
then
type
else
'S'
type
=
if
type
then
type
else
settings
.
modules
.
random_duel
.
default_type
name
=
type
+
',RANDOM#'
+
Math
.
floor
(
Math
.
random
()
*
100000
)
result
=
new
Room
(
name
)
result
.
random_type
=
type
...
...
@@ -638,7 +650,9 @@ ROOM_find_or_create_random = global.ROOM_find_or_create_random = (type, player_i
#log.info 'create room', player_name, name
else
return
null
if
result
.
random_type
==
'M'
then
result
.
welcome
=
result
.
welcome
+
'
\n
${random_duel_enter_room_match}'
if
result
.
random_type
==
'S'
then
result
.
welcome2
=
'${random_duel_enter_room_single}'
if
result
.
random_type
==
'M'
then
result
.
welcome2
=
'${random_duel_enter_room_match}'
if
result
.
random_type
==
'T'
then
result
.
welcome2
=
'${random_duel_enter_room_tag}'
return
result
ROOM_find_or_create_ai
=
global
.
ROOM_find_or_create_ai
=
(
name
)
->
...
...
@@ -2355,6 +2369,8 @@ ygopro.stoc_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
ygopro
.
stoc_send_chat
(
client
,
settings
.
modules
.
welcome
,
ygopro
.
constants
.
COLORS
.
GREEN
)
if
room
.
welcome
ygopro
.
stoc_send_chat
(
client
,
room
.
welcome
,
ygopro
.
constants
.
COLORS
.
BABYBLUE
)
if
room
.
welcome2
ygopro
.
stoc_send_chat
(
client
,
room
.
welcome2
,
ygopro
.
constants
.
COLORS
.
PINK
)
if
settings
.
modules
.
arena_mode
.
enabled
and
!
client
.
is_local
#and not client.score_shown
request
url
:
settings
.
modules
.
arena_mode
.
get_score
+
encodeURIComponent
(
client
.
name
),
...
...
@@ -2416,7 +2432,7 @@ ygopro.stoc_follow 'JOIN_GAME', false, (buffer, info, client, server, datas)->
return
watcher
.
on
'error'
,
(
error
)
->
#
log.error "watcher error", error
log
.
error
"watcher error"
,
error
return
return
...
...
ygopro-server.js
View file @
30fc8506
...
...
@@ -265,6 +265,27 @@
imported
=
true
;
}
//import the old random_duel.blank_pass_match option
if
(
settings
.
modules
.
random_duel
.
blank_pass_match
===
true
)
{
settings
.
modules
.
random_duel
.
blank_pass_modes
=
{
"
S
"
:
true
,
"
M
"
:
true
,
"
T
"
:
false
};
delete
settings
.
modules
.
random_duel
.
blank_pass_match
;
imported
=
true
;
}
if
(
settings
.
modules
.
random_duel
.
blank_pass_match
===
false
)
{
settings
.
modules
.
random_duel
.
blank_pass_modes
=
{
"
S
"
:
true
,
"
M
"
:
false
,
"
T
"
:
false
};
delete
settings
.
modules
.
random_duel
.
blank_pass_match
;
imported
=
true
;
}
//finish
if
(
imported
)
{
setting_save
(
settings
);
...
...
@@ -815,13 +836,13 @@
max_player
=
type
===
'
T
'
?
4
:
2
;
playerbanned
=
bannedplayer
&&
bannedplayer
.
count
>
3
&&
moment
()
<
bannedplayer
.
time
;
result
=
_
.
find
(
ROOM_all
,
function
(
room
)
{
return
room
&&
room
.
random_type
!==
''
&&
room
.
duel_stage
===
ygopro
.
constants
.
DUEL_STAGE
.
BEGIN
&&
!
room
.
windbot
&&
((
type
===
''
&&
(
room
.
random_type
===
'
S
'
||
(
settings
.
modules
.
random_duel
.
blank_pass_match
&&
room
.
random_type
!==
'
T
'
)
))
||
room
.
random_type
===
type
)
&&
room
.
get_playing_player
().
length
<
max_player
&&
(
settings
.
modules
.
random_duel
.
no_rematch_check
||
room
.
get_host
()
===
null
||
room
.
get_host
().
ip
!==
ROOM_players_oppentlist
[
player_ip
])
&&
(
playerbanned
===
room
.
deprecated
||
type
===
'
T
'
);
return
room
&&
room
.
random_type
!==
''
&&
room
.
duel_stage
===
ygopro
.
constants
.
DUEL_STAGE
.
BEGIN
&&
!
room
.
windbot
&&
((
type
===
''
&&
(
room
.
random_type
===
settings
.
modules
.
random_duel
.
default_type
||
settings
.
modules
.
random_duel
.
blank_pass_modes
[
room
.
random_type
]
))
||
room
.
random_type
===
type
)
&&
room
.
get_playing_player
().
length
<
max_player
&&
(
settings
.
modules
.
random_duel
.
no_rematch_check
||
room
.
get_host
()
===
null
||
room
.
get_host
().
ip
!==
ROOM_players_oppentlist
[
player_ip
])
&&
(
playerbanned
===
room
.
deprecated
||
type
===
'
T
'
);
});
if
(
result
)
{
result
.
welcome
=
'
${random_duel_enter_room_waiting}
'
;
//log.info 'found room', player_name
}
else
if
(
memory_usage
<
90
)
{
type
=
type
?
type
:
'
S
'
;
type
=
type
?
type
:
settings
.
modules
.
random_duel
.
default_type
;
name
=
type
+
'
,RANDOM#
'
+
Math
.
floor
(
Math
.
random
()
*
100000
);
result
=
new
Room
(
name
);
result
.
random_type
=
type
;
...
...
@@ -832,8 +853,14 @@
//log.info 'create room', player_name, name
return
null
;
}
if
(
result
.
random_type
===
'
S
'
)
{
result
.
welcome2
=
'
${random_duel_enter_room_single}
'
;
}
if
(
result
.
random_type
===
'
M
'
)
{
result
.
welcome
=
result
.
welcome
+
'
\n
${random_duel_enter_room_match}
'
;
result
.
welcome2
=
'
${random_duel_enter_room_match}
'
;
}
if
(
result
.
random_type
===
'
T
'
)
{
result
.
welcome2
=
'
${random_duel_enter_room_tag}
'
;
}
return
result
;
};
...
...
@@ -3060,6 +3087,9 @@
if
(
room
.
welcome
)
{
ygopro
.
stoc_send_chat
(
client
,
room
.
welcome
,
ygopro
.
constants
.
COLORS
.
BABYBLUE
);
}
if
(
room
.
welcome2
)
{
ygopro
.
stoc_send_chat
(
client
,
room
.
welcome2
,
ygopro
.
constants
.
COLORS
.
PINK
);
}
if
(
settings
.
modules
.
arena_mode
.
enabled
&&
!
client
.
is_local
)
{
//and not client.score_shown
request
({
url
:
settings
.
modules
.
arena_mode
.
get_score
+
encodeURIComponent
(
client
.
name
),
...
...
@@ -3134,12 +3164,13 @@
}
}
});
watcher
.
on
(
'
error
'
,
function
(
error
)
{});
watcher
.
on
(
'
error
'
,
function
(
error
)
{
log
.
error
(
"
watcher error
"
,
error
);
});
}
});
// 登场台词
//log.error "watcher error", error
load_dialogues
=
global
.
load_dialogues
=
function
(
callback
)
{
request
({
url
:
settings
.
modules
.
dialogues
.
get
,
...
...
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