Compare commits

...

No commits in common. "dc6549bdf11ef0fce9635cfa4bc4237e8620e6e7" and "1cfb69af0a0a5c188661b1ba5fe60d8d4940c7e2" have entirely different histories.

4 changed files with 67 additions and 88 deletions

View File

@ -1,82 +1,57 @@
name: Deploy Project BC
on:
push: # Запускать при событии push
branches:
- main # Только для ветки main (или master, или ваша основная ветка)
jobs:
deploy:
runs-on: ubuntu-latest # Указываем метку раннера, на котором должна выполняться задача.
# Убедитесь, что ваш зарегистрированный раннер имеет эту метку.
# Можно использовать и более специфичную, например, 'self-hosted' или имя вашего сервера, если вы так его пометили.
steps:
- name: Network Diagnostics Inside Container FIRST
run: |
echo "===== Running Network Diagnostics ====="
echo "--- /etc/resolv.conf inside container ---"
cat /etc/resolv.conf
echo "--- nslookup google.com ---"
nslookup google.com || echo "nslookup google.com failed or nslookup not available"
echo "--- nslookup Gitea Host (pavel-chagovsky.com) ---"
nslookup pavel-chagovsky.com || echo "nslookup pavel-chagovsky.com failed or nslookup not available"
echo "--- Trying to curl Gitea by IP (81.177.140.16) and path /gitea/ ---"
curl -kvL --connect-timeout 5 https://81.177.140.16/gitea/ || echo "Curl to Gitea by IP failed"
echo "===== Network Diagnostics Finished ====="
- name: Network Diagnostics Inside Container
run: |
echo "--- /etc/resolv.conf inside container ---"
cat /etc/resolv.conf
echo "--- Pinging google.com ---"
ping -c 3 google.com
echo "--- Pinging Gitea Host (pavel-chagovsky.com) ---"
ping -c 3 pavel-chagovsky.com
echo "--- nslookup Gitea Host (pavel-chagovsky.com) ---"
nslookup pavel-chagovsky.com
echo "--- Trying to curl Gitea by IP (replace YOUR_GITEA_IP and PORT if not 443) ---"
curl -kv https://81.177.140.16/gitea/
- name: Checkout repository
uses: actions/checkout@v3 # Стандартное действие для скачивания кода репозитория на раннер
- name: Setup Node.js # Если вам нужно определенная версия Node.js для npm install
uses: actions/setup-node@v3
with:
node-version: '18' # Укажите нужную вам LTS или другую версию Node.js
- name: Install Dependencies
run: | # Выполняем команды в рабочей директории раннера (куда был склонирован репозиторий)
echo "Current directory: $(pwd)"
if [ -f package.json ]; then
echo "package.json found. Installing dependencies..."
npm install --omit=dev
else
echo "package.json not found. Skipping npm install."
fi
working-directory: ./ # Указывает, что npm install нужно выполнять в корне склонированного репозитория
# Если package.json для bc.js в подпапке server/, то:
# working-directory: ./server
- name: Execute Deploy Script on Server
uses: appleboy/ssh-action@master # Популярное действие для выполнения команд по SSH
with:
host: ${{ secrets.DEPLOY_HOST }} # IP или домен вашего сервера, где нужно выполнить деплой
username: ${{ secrets.DEPLOY_USER }} # Имя пользователя для SSH-доступа
key: ${{ secrets.SSH_PRIVATE_KEY }} # Приватный SSH-ключ для доступа
port: ${{ secrets.DEPLOY_PORT || 22 }} # Порт SSH, по умолчанию 22
script: |
echo "Starting deployment on server for project bc..."
cd /home/nodejs/bc/ # Путь к рабочей копии проекта на сервере
git fetch origin main # Или ваша основная ветка
git reset --hard origin/main
# Если npm install должен выполняться на сервере деплоя, а не на раннере:
# if [ -f package.json ]; then
# echo "Installing server-side npm dependencies..."
# npm install --omit=dev
# fi
echo "Restarting PM2 process for bc..."
pm2 restart bc # Имя или ID вашего bc приложения в PM2
name: Deploy Project BC
on:
push: # Запускать при событии push
branches:
- main # Только для ветки main (или master, или ваша основная ветка)
jobs:
deploy:
runs-on: ubuntu-latest # Указываем метку раннера, на котором должна выполняться задача.
# Убедитесь, что ваш зарегистрированный раннер имеет эту метку.
# Можно использовать и более специфичную, например, 'self-hosted' или имя вашего сервера, если вы так его пометили.
steps:
- name: Checkout repository
uses: actions/checkout@v3 # Стандартное действие для скачивания кода репозитория на раннер
- name: Setup Node.js # Если вам нужно определенная версия Node.js для npm install
uses: actions/setup-node@v3
with:
node-version: '18' # Укажите нужную вам LTS или другую версию Node.js
- name: Install Dependencies
run: | # Выполняем команды в рабочей директории раннера (куда был склонирован репозиторий)
echo "Current directory: $(pwd)"
if [ -f package.json ]; then
echo "package.json found. Installing dependencies..."
npm install --omit=dev
else
echo "package.json not found. Skipping npm install."
fi
working-directory: ./ # Указывает, что npm install нужно выполнять в корне склонированного репозитория
# Если package.json для bc.js в подпапке server/, то:
# working-directory: ./server
- name: Execute Deploy Script on Server
uses: appleboy/ssh-action@master # Популярное действие для выполнения команд по SSH
with:
host: ${{ secrets.DEPLOY_HOST }} # IP или домен вашего сервера, где нужно выполнить деплой
username: ${{ secrets.DEPLOY_USER }} # Имя пользователя для SSH-доступа
key: ${{ secrets.SSH_PRIVATE_KEY }} # Приватный SSH-ключ для доступа
port: ${{ secrets.DEPLOY_PORT || 22 }} # Порт SSH, по умолчанию 22
script: |
echo "Starting deployment on server for project bc..."
cd /home/nodejs/bc/ # Путь к рабочей копии проекта на сервере
git fetch origin main # Или ваша основная ветка
git reset --hard origin/main
# Если npm install должен выполняться на сервере деплоя, а не на раннере:
# if [ -f package.json ]; then
# echo "Installing server-side npm dependencies..."
# npm install --omit=dev
# fi
echo "Restarting PM2 process for bc..."
pm2 restart bc # Имя или ID вашего bc приложения в PM2
echo "Deployment for bc finished."

1
bc

@ -1 +0,0 @@
Subproject commit 1cfb69af0a0a5c188661b1ba5fe60d8d4940c7e2

View File

@ -142,7 +142,7 @@ function performAttack(
/**
* применяет111 эффект способности.
* Применяет эффект способности.
* @param {object} ability - Объект способности.
* @param {object} casterState - Состояние бойца, применившего способность.
* @param {object} targetState - Состояние цели способности.
@ -177,10 +177,10 @@ function applyAbilityEffect(
const actualHeal = Math.min(healAmount, casterBaseStats.maxHp - casterState.currentHp);
if (actualHeal > 0) {
casterState.currentHp = Math.round(casterState.currentHp + actualHeal);
if (addToLogCallback) addToLogCallback(`💚 ${casterBaseStats.name} применяет111 "${ability.name}" и восстанавливает ${actualHeal} HP!`, configToUse.LOG_TYPE_HEAL);
if (addToLogCallback) addToLogCallback(`💚 ${casterBaseStats.name} применяет "${ability.name}" и восстанавливает ${actualHeal} HP!`, configToUse.LOG_TYPE_HEAL);
actionOutcomeForTaunt = 'success'; // Для реакции оппонента, если таковая есть на хил
} else {
if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} применяет111 "${ability.name}", но не получает лечения (HP уже полное или хил = 0).`, configToUse.LOG_TYPE_INFO);
if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} применяет "${ability.name}", но не получает лечения (HP уже полное или хил = 0).`, configToUse.LOG_TYPE_INFO);
abilityApplicationSucceeded = false;
actionOutcomeForTaunt = 'fail';
}
@ -202,7 +202,7 @@ function applyAbilityEffect(
targetState.currentHp = Math.max(0, Math.round(targetState.currentHp - damage));
if (addToLogCallback && !wasAbilityBlocked) {
addToLogCallback(`💥 ${casterBaseStats.name} применяет111 "${ability.name}" на ${targetBaseStats.name}, нанося ${damage} урона!`, configToUse.LOG_TYPE_DAMAGE);
addToLogCallback(`💥 ${casterBaseStats.name} применяет "${ability.name}" на ${targetBaseStats.name}, нанося ${damage} урона!`, configToUse.LOG_TYPE_DAMAGE);
}
if (damage <= 0 && !wasAbilityBlocked) { // Если урон нулевой и не было блока (например, из-за резистов, которых пока нет)
@ -249,7 +249,7 @@ function applyAbilityEffect(
type: ability.type, duration: ability.effectDuration, turnsLeft: ability.effectDuration,
power: ability.power, isFullSilence: true, justCast: true
});
if (addToLogCallback) addToLogCallback(`🌀 ${casterBaseStats.name} применяет111 "${ability.name}" на ${targetBaseStats.name}! Способности цели заблокированы на ${ability.effectDuration} хода!`, configToUse.LOG_TYPE_EFFECT);
if (addToLogCallback) addToLogCallback(`🌀 ${casterBaseStats.name} применяет "${ability.name}" на ${targetBaseStats.name}! Способности цели заблокированы на ${ability.effectDuration} хода!`, configToUse.LOG_TYPE_EFFECT);
actionOutcomeForTaunt = 'success';
} else {
if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} пытается применить "${ability.name}", но эффект уже активен на ${targetState.name}!`, configToUse.LOG_TYPE_INFO);
@ -336,7 +336,7 @@ function applyAbilityEffect(
}
}
let logMsgDrain = `${casterBaseStats.name} применяет111111111 "${ability.name}"! `;
let logMsgDrain = `${casterBaseStats.name} применяет "${ability.name}"! `;
if (damageDealtDrain > 0) logMsgDrain += `Наносит ${damageDealtDrain} урона ${targetBaseStats.name}. `;
if (manaDrained > 0) {
logMsgDrain += `Вытягивает ${manaDrained} ${targetBaseStats.resourceName} у ${targetBaseStats.name}`;

View File

@ -0,0 +1,5 @@
● gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2025-05-09 13:00:38 UTC; 13ms ago
Process: 137377 ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini (code=exited, status=217/USER)
Main PID: 137377 (code=exited, status=217/USER)