Kezdőoldal » Számítástechnika » Weblapkészítés » Készitettem a minecraft...

Készitettem a minecraft szervernek egy web alapú kezelőfelületet, de sehogy se sikerül megcsinálni, hogy gombnyomásra elindítsa a szervert. Hogy tudom weblapról elinditani a minecraft szerverem?

Figyelt kérdés

2021. júl. 9. 15:00
 1/8 anonim ***** válasza:
60%
Hogy csinálsz web alapú kezelőfelületet, mikor a legtöbb Minecraft szervert biztosító szolgáltató biztosít egy panelt ennek?
2021. júl. 9. 15:08
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:
84%

"a minecraft szervernek egy web alapú kezelőfelületet"

Milyen nyelven?


Mert a legtöbb szerveroldali szkriptnyelvben van lehetőség külső program futtatására - például PHP-bn az exec():

[link]

nodeJS-ben a child_process.exec():

[link]

Pythonban az os.exec...:

[link]

de nagyon ügyelj a biztonságra: a szkript ez által ne nagyon férhessen hozzá más erőforráshoz!

2021. júl. 9. 15:42
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:

Köszönöm!

A phpból már próbáltam, az exec(), shell_exec(), ssh2_exec() parancsokkal, de egyikkel se ment.

2021. júl. 9. 17:25
 4/8 Argloss ***** válasza:
66%

A kezelőfelület és a minecraft szervez azonos szerveren van?

Hogyan próbálkoztál ezekkel a kódokkal? Hogyan próbáltad felderíteni, hogy mi volt a hiba?

2021. júl. 11. 17:21
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
Nyögd már ki végre, hogy számodra mit jelent a "sehogy se sikerül megcsinálni" és az "egyikkel se ment". Egyáltalán hogyan próbálod?
2021. júl. 11. 19:26
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

Igen, azonos szerveren van!

Végig néztem 600 oldalt, különböző programozási nyelveket próbáltam ki, de egyik hatására se indult be a szerver!

Pl.: ssh2_exec('sh start.sh'); => egyrész ezzel az a baj hogy nem a háttérbe futtatja hanem a weblapon.

screen parancsnál meg azt irja ki hogy terminál szügséges.

Utána kerestem node.js megoldást de azt meg csak terminálból lehet lefuttatni.

Azt szeretném megcsinálni, hogy a weblapon megnyomom a start gombot és a linux szerveren elindul a minevraft szerver. De nem a weblapon kezd el futni.

Nagyon sokat próbálkoztam vele. Előre is köszönöm a segítséget!

2021. júl. 11. 19:59
 7/8 anonim ***** válasza:

"Pl.: ssh2_exec('sh start.sh'); => egyrész ezzel az a baj hogy nem a háttérbe futtatja hanem a weblapon."

1. Az ssh2_exec() ( [link] ) arra szolgál, hogy egy távoli hoszton - amivel az ssh2_connect() ( [link] ) csatlakozik és az ssh2_auth_password() ( [link] ) segítségével autentikál - parancsot futtasson, így az első paraméterének az ssh2_connect() által visszaadott munkamenetnek kell lennie.


2. Ahhoz, hogy a háttérben futtass egy Linux parancsot a parancs végére be kell írni egy & operátort:

"If a command is terminated by the control operator &, the shell executes the command in the background in a subshell. The shell does not wait for the command to finish, and the return status is 0. These are referred to as asynchronous commands."

[link]


Viszont ha nem akarod a parancssor kimenetét megvárni ajánlatos az összes kimenetet átirányítani (például a /dev/null állományba) - szóval összegészében valahogy így:

exec("start.sh >/dev/null 2>&1 &");

2021. júl. 11. 23:36
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:

Hálásan köszönöm!

🙏🙏🙏

2021. júl. 12. 22:52

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!