
pc98
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
pc98 deu reputação a Guiiway em [Compilando no Linux] Passo a Passo + BônusOla pessoal , todos ja viram , ou pelo menos ouviram falar do Linux , certo ?
Oque é linux ? Ele é simplesmente a melhor opçao para hospedagem de otserv e website. alem de sua alta capacidade para rodar otservs , ele tambem é bem resistente contra os famosos "Nukers" ... chega de papo , vamo la (:
Bom primeiramente se voce tiver um VPS ou Dedicado baixe o SSH e a TRUNK
Caso voce for hostear o ot , baixe apenas a TRUNK
Primeiramente vamos instalar as Libs :
sudo apt-get install autoconf libxml2-dev liblua5.1-0-dev g++ libgmp3-dev libcrypto++-dev libboost-filesystem1.40-dev libboost-system1.40-dev libboost-regex1.40-dev libboost-thread1.40-dev libmysqlclient15-dev Logo depois que voce baixou passe a pro VPS ou Host e verifique se o comando 7z esta ativado Digitando : # apt-get install p7zip-full se extiver tudo OK ! , extraia a TRUNK # 7z x trunk.r3777.7z Logo após extrair . Vamos dar todas as permissoes e ir até a pasta da trunk Digitando ... # chmod -R 777 trunk* # cd trunk* # sh autogen.sh # ./configure --enable-mysql Possiveis Erros : Logo após isso , daremos continuação a compilação ... root@hostingjogos:/trunk.r3777# ./configure --enable-mysql checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking for g++... g++ checking whether the C++ compiler works... yes checking for C++ compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for style of include used by make... GNU checking dependency style of g++... gcc3 checking how to run the C++ preprocessor... g++ -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/timeb.h usability... yes checking sys/timeb.h presence... yes checking for sys/timeb.h... yes checking for stdbool.h that conforms to C99... yes checking for _Bool... no checking for an ANSI C-conforming const... yes checking for inline... inline checking for int16_t... yes checking for int32_t... yes checking for int64_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for uint16_t... yes checking for uint32_t... yes checking for uint64_t... yes checking for uint8_t... yes checking for ptrdiff_t... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for ceil... yes checking for floor... yes checking for ftime... yes checking for gethostbyname... yes checking for gethostname... yes checking for memset... yes checking for pow... yes checking for sqrt... yes checking for strcasecmp... yes checking for strncasecmp... yes checking for strstr... yes checking for strtol... yes checking for xml2-config... /usr/bin/xml2-config checking for libxml - version >= 2.6.5... yes (version 2.7.6) checking gmp.h usability... yes checking gmp.h presence... yes checking for gmp.h... yes checking for __gmpz_init2 in -lgmp... yes checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes checking for main in -lz... yes checking for main in -lboost_thread-gcc-mt... no checking for main in -lboost_thread-mt... yes checking for main in -lboost_regex-gcc-mt... no checking for main in -lboost_regex-mt... yes checking for main in -lboost_system-gcc-mt... no checking for main in -lboost_system-mt... yes checking for main in -lboost_date_time-gcc-mt... no checking for main in -lboost_date_time-mt... yes checking for main in -lboost_filesystem-gcc-mt... no checking for main in -lboost_filesystem-mt... yes checking boost/asio.hpp usability... yes checking boost/asio.hpp presence... yes checking for boost/asio.hpp... yes checking boost/tr1/unordered_set.hpp usability... yes checking boost/tr1/unordered_set.hpp presence... yes checking for boost/tr1/unordered_set.hpp... yes checking cryptopp/sha.h usability... yes checking cryptopp/sha.h presence... yes checking for cryptopp/sha.h... yes checking cryptopp/md5.h usability... yes checking cryptopp/md5.h presence... yes checking for cryptopp/md5.h... yes checking cryptopp/adler32.h usability... yes checking cryptopp/adler32.h presence... yes checking for cryptopp/adler32.h... yes checking cryptopp/hex.h usability... yes checking cryptopp/hex.h presence... yes checking for cryptopp/hex.h... yes checking cryptopp/base64.h usability... yes checking cryptopp/base64.h presence... yes checking for cryptopp/base64.h... yes checking cryptopp/hmac.h usability... yes checking cryptopp/hmac.h presence... yes checking for cryptopp/hmac.h... yes checking cryptopp/cryptlib.h usability... yes checking cryptopp/cryptlib.h presence... yes checking for cryptopp/cryptlib.h... yes checking for main in -lcryptopp... yes checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for LUA... yes checking mysql/mysql.h usability... yes checking mysql/mysql.h presence... yes checking for mysql/mysql.h... yes checking for main in -lmysqlclient... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands theforgottenserver 0.4 Server diagnostics.......... : no Login server mode........... : no OTAdmin protocol............ : no Root run permission......... : no Login server mode........... : no Home-directory configuration : no OTServ custom allocator..... : no Debug build................. : no Using LuaJIT................ : no Build with MySQL............ : yes Build with SQLite........... : no Build with PostgreSQL....... : no Configure complete, now you may type './build.sh'. root@hostingjogos:/trunk.r3777#
Devemos digitar . make
E pronto , começara a compilação , enquanto isso , crie uma pasta com o nome de otserv , Digitando ...
# mkdir otserv
logo depois que acabar a compilação , copie o theforgottenserver , data , mods , schemas e o theforgottenserver.s3db para pasta otserv , com o seguinte Comando
# cp -rp /trunk*/theforgottenserver mods data schemas theforgottenserver.s3db /otserv/
Logo após ter copiado iremos dar permissões para a pasta otserv com o seguinte Comando ...
# chmod -R 777 otserv
E pronto , seu otserv estará pronto para rodar ... baste voce digitar o seguinte Comando ...
# cd ot*
# ./theforgottenserver
BOÔNUS 2 IpTables Ant-DoS
Iptables Ant Dos By:@Gustavo Ferreira ;
echo "Block TCP-CONNECT scan attempts (SYN bit packets)"
iptables -A INPUT -p tcp --syn -j DROP
echo "Block TCP-SYN scan attempts (only SYN bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH SYN -j DROP
echo "Block TCP-FIN scan attempts (only FIN bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN -j DROP
echo "Block TCP-ACK scan attempts (only ACK bit packets)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH ACK -j DROP
echo "Block TCP-NULL scan attempts (packets without flag)"
iptables -A INPUT -m conntrack --ctstate INVALID -p tcp --tcp-flags ! SYN,RST,ACK,FIN,URG,PSH SYN,RST,ACK,FIN,URG,PSH -j DROP
echo "Block "Christmas Tree" TCP-XMAS scan attempts (packets with FIN, URG, PSH bits)"
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --tcp-flags SYN,RST,ACK,FIN,URG,PSH FIN,URG,PSH -j DROP
echo "Block DOS - Ping of Death"
iptables -A INPUT -p ICMP --icmp-type echo-request -m length --length 60:65535 -j ACCEPT
echo "Block DOS - Teardrop"
iptables -A INPUT -p UDP -f -j DROP
echo "Block DDOS - SYN-flood"
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 9 -j DROP
echo "Block DDOS - Smurf"
iptables -A INPUT -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m pkttype --pkttype broadcast -j DROP
iptables -A INPUT -p ICMP --icmp-type echo-request -m limit --limit 3/s -j ACCEPT
echo "Block DDOS - UDP-flood (Pepsi)"
iptables -A INPUT -p UDP --dport 7 -j DROP
iptables -A INPUT -p UDP --dport 19 -j DROP
echo "Block DDOS - SMBnuke"
iptables -A INPUT -p UDP --dport 135:139 -j DROP
iptables -A INPUT -p TCP --dport 135:139 -j DROP
echo "Block DDOS - Connection-flood"
iptables -A INPUT -p TCP --syn -m iplimit --iplimit-above 3 -j DROP
echo "Block DDOS - Fraggle"
iptables -A INPUT -p UDP -m pkttype --pkt-type broadcast -j DROP
iptables -A INPUT -p UDP -m limit --limit 3/s -j ACCEPT
echo "Block DDOS - Jolt"
iptables -A INPUT -p ICMP -f -j DROP
Ant-DoS By :@Matheus